js點擊文本框彈出可選擇的checkbox復(fù)選框
本文分享一段代碼實例,它能夠點擊文本框的時候,能夠彈出下拉的checkbox復(fù)選框,選中復(fù)選框就能夠?qū)⒅祵懭胛谋究蛑?,可能在實際應(yīng)用中的效果沒有這么直白簡單,不過可以作為一個例子演示,以便于學(xué)習(xí)者理解和擴展。
代碼如下:
<html> <head> <meta charset="gb2312"> <title>js點擊文本框彈出可選擇的checkbox復(fù)選框</title> <style type="text/css"> #div{ margin-bottom:10px; position:relative; } #div1{ width:153px; padding-top:0px; padding-left:0px; position:absolute; } #div1 ul{ margin-top:0px; padding-left:0px; background-color:#ccc; list-style:none; } #div1 ul li{ padding-left:0px; } #div1 ul li input{ margin-left:15px; } .close{ display:none; } .open{ display:block; } </style> <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> <script type="text/javascript"> $(function(){ var position=$("#xx").offset(); $("#div1").offset({ top:position.top+22, left:position.left }); $("#xx").click(function(){ $("#NG").toggleClass("open"); }); $("#div1 input[name=ng]").click(function(){ var arr=new Array(); $("input[name=ng]:checked").each(function(key,value){ arr[key]=$(value).val(); }); $("#xx").val(arr.join(",")); }) }) </script> </head> <body> <div id="div"> <div align="center" id="div2" > <form id="form1"> <input type="text" readonly="readonly" id="xx"/> <input type="submit" value="查詢"/> </form> </div> <div id="div1"> <ul class="close" id="NG" > <li><input type="checkbox" name="ng" value=1 />1</li> <li><input type="checkbox" name="ng" value=2 />2</li> <li><input type="checkbox" name="ng" value=3 />3</li> </ul> </div> </div> </body> </html>
以上代碼實現(xiàn)了我們的要求,下面介紹一下它的實現(xiàn)過程。
代碼注釋:
1.$(function(){}),當(dāng)文檔結(jié)構(gòu)完全加載完畢再去執(zhí)行函數(shù)中的代碼。
2.var position=$("#xx").offset(),獲取文本框相對于document文檔的偏移量,offset()函數(shù)返回的是一個對象,此對象包含兩個屬性left和top,分別表示相對于文檔的水平和垂直偏移量。
3.$("#div1").offset({top:position.top+22,left:position.left}),設(shè)置彈出下拉菜單容器的相對文檔的偏移量,第一個加22是為了使其在文本框的下面顯示。
4.$("#xx").click(function(){$("#NG").toggleClass("open");}),為文本框注冊click事件處理函數(shù),點擊它可以切換樣式類open刪除和添加,也就是設(shè)置下拉菜單的顯示和隱藏。
5.$("#div1 input[name=ng]").click(function(){ }),為name屬性值為ng的文本框注冊click事件處理函數(shù)。
6.var arr=new Array(),創(chuàng)建一個數(shù)組,用來存放選中checkbox復(fù)選框的value值。
7.$("input[name=ng]:checked").each(function(key,value){arr[key]=$(value).val();}),將選中的復(fù)選框的值存入數(shù)組。
8.$("#xx").val(arr.join(","));,將數(shù)組元素連接成字符串寫入文本框。
希望本文所述對大家學(xué)習(xí)javascript程序設(shè)計有所幫助。
相關(guān)文章
關(guān)于onchange事件在IE和FF下的表現(xiàn)及解決方法
本篇文章主要是對關(guān)于onchange事件在IE和FF下的表現(xiàn)及解決方法進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-03-03擴展bootstrap的modal模態(tài)框-動態(tài)添加modal框-彈出多個modal框
這篇文章主要介紹了擴展bootstrap的modal模態(tài)框-動態(tài)添加modal框-彈出多個modal框,需要的朋友可以參考下2017-02-02layerui代碼控制tab選項卡,添加,關(guān)閉的實例
今天小編就為大家分享一篇layerui代碼控制tab選項卡,添加,關(guān)閉的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09