js點(diǎn)擊文本框彈出可選擇的checkbox復(fù)選框
本文分享一段代碼實(shí)例,它能夠點(diǎn)擊文本框的時(shí)候,能夠彈出下拉的checkbox復(fù)選框,選中復(fù)選框就能夠?qū)⒅祵懭胛谋究蛑?,可能在?shí)際應(yīng)用中的效果沒有這么直白簡單,不過可以作為一個(gè)例子演示,以便于學(xué)習(xí)者理解和擴(kuò)展。
代碼如下:
<html>
<head>
<meta charset="gb2312">
<title>js點(diǎn)擊文本框彈出可選擇的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>
以上代碼實(shí)現(xiàn)了我們的要求,下面介紹一下它的實(shí)現(xiàn)過程。
代碼注釋:
1.$(function(){}),當(dāng)文檔結(jié)構(gòu)完全加載完畢再去執(zhí)行函數(shù)中的代碼。
2.var position=$("#xx").offset(),獲取文本框相對于document文檔的偏移量,offset()函數(shù)返回的是一個(gè)對象,此對象包含兩個(gè)屬性left和top,分別表示相對于文檔的水平和垂直偏移量。
3.$("#div1").offset({top:position.top+22,left:position.left}),設(shè)置彈出下拉菜單容器的相對文檔的偏移量,第一個(gè)加22是為了使其在文本框的下面顯示。
4.$("#xx").click(function(){$("#NG").toggleClass("open");}),為文本框注冊click事件處理函數(shù),點(diǎn)擊它可以切換樣式類open刪除和添加,也就是設(shè)置下拉菜單的顯示和隱藏。
5.$("#div1 input[name=ng]").click(function(){ }),為name屬性值為ng的文本框注冊click事件處理函數(shù)。
6.var arr=new Array(),創(chuàng)建一個(gè)數(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è)計(jì)有所幫助。
相關(guān)文章
js實(shí)現(xiàn)點(diǎn)擊圖片將圖片地址復(fù)制到粘貼板的方法
這篇文章主要介紹了js實(shí)現(xiàn)點(diǎn)擊圖片將圖片地址復(fù)制到粘貼板的方法,涉及js操作節(jié)點(diǎn)的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-02-02
javascript輕松實(shí)現(xiàn)當(dāng)鼠標(biāo)移開時(shí)已彈出子菜單自動(dòng)消失
本文為大家詳細(xì)介紹下使用javascript實(shí)現(xiàn)當(dāng)鼠標(biāo)移開時(shí)已彈出子菜單自動(dòng)消失,具體如下,感興趣的朋友不要錯(cuò)過2013-12-12
javascript中xml操作實(shí)現(xiàn)代碼
好久沒寫了。感覺今時(shí)今日,HTML5 還依然只是一種玩票的東東。但愿 w3c 的標(biāo)準(zhǔn)可以早一點(diǎn)出臺(tái),不要讓各種瀏覽器的兼容問題和支持程度搞死2011-11-11
javascript實(shí)現(xiàn)圖像循環(huán)明暗變化的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)圖像循環(huán)明暗變化的方法,實(shí)例分析了javascript操作css樣式的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
從parcel.js打包出錯(cuò)到選擇nvm的全部過程
這篇文章主要介紹了從parcel.js打包出錯(cuò)到選擇nvm的全部過程,需要的朋友可以參考下2018-01-01
小程序websocket心跳庫(websocket-heartbeat-miniprogram)
這篇文章主要介紹了小程序websocket心跳庫(websocket-heartbeat-miniprogram),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02

