基于jquery的可多選的下拉列表框
先看效果: http://demo.jb51.net/js/2012/jquery_demo/jquery_select.html
JS:
(function ($) {
$.fn.extend({
MultDropList: function (options) {
var op = $.extend({ wraperClass: "wraper", width: "150px", height: "200px", data: "", selected: "" }, options);
return this.each(function () {
var $this = $(this); //指向TextBox
var $hf = $(this).next(); //指向隱藏控件存
var conSelector = "#" + $this.attr("id") + ",#" + $hf.attr("id");
var $wraper = $(conSelector).wrapAll("<div><div></div></div>").parent().parent().addClass(op.wraperClass);
var $list = $('<div class="list"></div>').appendTo($wraper);
$list.css({ "width": op.width, "height": op.height });
//控制彈出頁面的顯示與隱藏
$this.click(function (e) {
$list.toggle();
e.stopPropagation();
});
$(document).click(function () {
$list.hide();
});
$list.filter("*").click(function (e) {
e.stopPropagation();
});
//加載默認(rèn)數(shù)據(jù)
$list.append('<ul><li><input type="checkbox" class="selectAll" value="" /><span>全部</span></li></ul>');
var $ul = $list.find("ul");
//加載json數(shù)據(jù)
var listArr = op.data.split("|");
var jsonData;
for (var i = 0; i < listArr.length; i++) {
jsonData = eval("(" + listArr[i] + ")");
$ul.append('<li><input type="checkbox" value="' + jsonData.k + '" /><span>' + jsonData.v + '</span></li>');
}
//加載勾選項(xiàng)
var seledArr;
if (op.selected.length > 0) {
seledArr = selected.split(",");
}
else {
seledArr = $hf.val().split(",");
}
$.each(seledArr, function (index) {
$("li input[value='" + seledArr[index] + "']", $ul).attr("checked", "checked");
var vArr = new Array();
$("input[class!='selectAll']:checked", $ul).each(function (index) {
vArr[index] = $(this).next().text();
});
$this.val(vArr.join(","));
});
//全部選擇或全不選
$("li:first input", $ul).click(function () {
if ($(this).attr("checked")) {
$("li input", $ul).attr("checked", "checked");
}
else {
$("li input", $ul).removeAttr("checked");
}
});
//點(diǎn)擊其它復(fù)選框時(shí),更新隱藏控件值,文本框的值
$("input", $ul).click(function () {
var kArr = new Array();
var vArr = new Array();
$("input[class!='selectAll']:checked", $ul).each(function (index) {
kArr[index] = $(this).val();
vArr[index] = $(this).next().text();
});
$hf.val(kArr.join(","));
$this.val(vArr.join(","));
});
});
}
});
})(jQuery);
$(document).ready(function () {
$("#txtTest").MultDropList({ data: $("#hfddlList").val() });
});
</script>
CSS:
.wraper
{
position: relative;
}
.list
{
width: 200px;
height: 200px;
overflow: auto;
position: absolute;
border: 1px solid #617775;
display: none;
background: none repeat scroll 0 0 #F0F6E4;
float: left;
}
.list ul li
{
padding-left: 10px;
padding-top: 2px;
padding-bottom: 2px;
border-top: 1px solid black;
}
ul
{
list-style:none outside none;
}
HTML:
<asp:HiddenField ID="hfddlList" runat="server" Value='{k:1,v:"南京"}|{k:2,v:"上海"}|{k:3,v:"揚(yáng)州"}|{k:4,v:"蘇州"}|{k:5,v:"無錫"}|{k:6,v:"常州"}|{k:7,v:"鹽城"}|{k:8,v:"徐州"}|{k:9,v:"泰州"}|{k:10,v:"淮安"}' />
<div class="testContainer">
<br />
<br />
<br />
<br />
<div style="margin-left: 300px; height: 30px;">
<asp:TextBox ID="txtTest" runat="server" Width="150px"></asp:TextBox>
<asp:HiddenField ID="hfTest" runat="server" Value="3,5" />
</div>
</div>
- 利用jquery操作select下拉列表框的代碼
- jQuery 操作下拉列表框?qū)崿F(xiàn)代碼
- jQuery+CSS3折疊卡片式下拉列表框?qū)崿F(xiàn)效果
- PHP+Mysql+jQuery查詢和列表框選擇操作實(shí)例講解
- JS,Jquery獲取select,dropdownlist,checkbox下拉列表框的值(示例代碼)
- jQuery實(shí)現(xiàn)可移動(dòng)選項(xiàng)的左右下拉列表示例
- jquery實(shí)現(xiàn)列表上下移動(dòng)功能
- jquery移動(dòng)點(diǎn)擊的項(xiàng)目到列表最頂端的方法
- jQuery實(shí)現(xiàn)左右兩個(gè)列表框的內(nèi)容相互移動(dòng)功能示例
相關(guān)文章
jQuery?在圖片和文字中插入內(nèi)容實(shí)例
jQuery是一種流行的JavaScript庫,可以輕松地在網(wǎng)頁中插入圖片和文字。通過使用jQuery的插入功能,您可以在網(wǎng)頁上動(dòng)態(tài)地添加內(nèi)容,從而提高用戶體驗(yàn)。本文將介紹如何使用jQuery在圖片和文字中插入內(nèi)容,并提供一些實(shí)用的代碼示例。2023-06-06BootStrap和jQuery相結(jié)合實(shí)現(xiàn)可編輯表格
這篇文章主要介紹了BootStrap和jQuery相結(jié)合實(shí)現(xiàn)可編輯表格的相關(guān)資料,需要的朋友可以參考下2016-04-04jquery多行滾動(dòng)/向左或向上滾動(dòng)/響應(yīng)鼠標(biāo)實(shí)現(xiàn)思路及代碼
多行滾動(dòng)jQuery循環(huán)新聞列表代碼包括以下功能:鼠標(biāo)滑上焦點(diǎn)圖時(shí)停止自動(dòng)播放/滑出時(shí)開始自動(dòng)播放以及判斷執(zhí)行橫向或縱向滾動(dòng),感興趣的朋友可以了解下哦2013-01-01jQuery簡單實(shí)現(xiàn)仿京東商城的左側(cè)菜單效果代碼
這篇文章主要介紹了jQuery簡單實(shí)現(xiàn)仿京東商城的左側(cè)菜單效果代碼,通過簡單的jQuery鼠標(biāo)事件及元素動(dòng)態(tài)變換實(shí)現(xiàn)樣式動(dòng)態(tài)切換功能,非常簡單實(shí)用,需要的朋友可以參考下2015-09-09jQuery使用zTree插件實(shí)現(xiàn)樹形菜單和異步加載
這篇文章主要介紹了jQuery使用zTree插件實(shí)現(xiàn)樹形菜單和異步加載的相關(guān)方法,感興趣的小伙伴們可以參考一下2016-02-02jquery+css實(shí)現(xiàn)簡單的圖片輪播效果
這篇文章主要介紹了jquery+css實(shí)現(xiàn)簡單的圖片輪播效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08jQuery實(shí)現(xiàn)灰藍(lán)風(fēng)格標(biāo)準(zhǔn)二級下拉菜單效果代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)灰藍(lán)風(fēng)格標(biāo)準(zhǔn)二級下拉菜單效果代碼,涉及jquery鼠標(biāo)mouseover事件控制頁面元素樣式動(dòng)態(tài)變換的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08jquery插件如何使用 jQuery操作Cookie插件使用介紹
本文將介紹jQuery如何操作Cookie插件,需要了解的朋友可以參考下2012-12-12將form表單通過ajax實(shí)現(xiàn)無刷新提交的簡單實(shí)例
下面小編就為大家?guī)硪黄獙orm表單通過ajax實(shí)現(xiàn)無刷新提交的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10