一个简单的实现下拉框多选的插件可移植性比较好_jquery

在使用上次写的一个多先下拉框时,我发现了很多问题,经过修改和完善后,现在已经能够很好地使用了,且可移植性也比较好,下面是源代码。

js

复制代码 代码如下:

(function(){

$.fn.extend({
checks_select: function(options){
jq_checks_select = null;
$(this).val("---请选择---");
$(this).next().empty(); //先清空
$(this).unbind("click");
$(this).click(function(e){
jq_check = $(this);
//jq_check.attr("class", "");
if (jq_checks_select == null) {
jq_checks_select = jq_check.next();
jq_checks_select.addClass("checks_div_select");
//jq_checks_select = $("<div class='checks_div_select'></div>").insertAfter(jq_check);
$.each(options, function(i, n){
check_div=$("<div><input type='checkbox' value='" + n + "'>" + n + "</div>").appendTo(jq_checks_select);
check_box=check_div.children();
check_box.click(function(e){
//jq_check.attr("value",$(this).attr("value") );

temp="";
$(this).parents().find("input:checked").each(function(i){
if(i==0){
temp=$(this).val();
}else{
temp+=","+$(this).val();
}
});
//alert(temp);
jq_check.val(temp);
e.stopPropagation();
});
});
jq_checks_select.show();
}else{
jq_checks_select.toggle();

}
e.stopPropagation();
});
$(document).click(function () {
flag=$("#test_div");
if(flag.val()==""){
flag.val("---请选择---");
}
jq_checks_select.hide();
});
//$(this).blur(function(){
//jq_checks_select.css("visibility","hidden");
//alert();
//});
}
})

})(jQuery);

html

复制代码 代码如下:

<html>
<head>
<script type="text/javascript" src="js/jquery.js">
</script>
<script type="text/javascript" src="js/jquery_mutili.js">
</script>
<script language="javascript">
$(document).ready(function(){
var options = {
1: "第一个选择项",
2: "第二个选择项",
3: "第三个选择项",
4: "第四个选择项",
5: "第五个选择项",
6: "第六个选择项"
};
$("#test_div").checks_select(options);
});
</script>
<style>
.checks_div_select {
width: 150px;
background-color: #e9fbfb;
border: 1px solid #18cbcd;
font-family: 'Verdana', '宋体';
font-size: 12px;
position:absolute;
left:2px;
top:25px;
}
</style>
</head>
<body>
<div style="position:relative;">
<input type="text" id="test_div" readonly="readonly"/>
<div></div>
</div>
</body>
</html>

时间: 2024-11-01 20:54:58

一个简单的实现下拉框多选的插件可移植性比较好_jquery的相关文章

easyui-easyUI下拉框复选不显示值

问题描述 easyUI下拉框复选不显示值 data-options=" url: '/securityAudit/statisticsByLogModule.html', method:'get', valueField:'data.count', textField:'data.moduleName', multiple:true, width:110, panelHeight:'auto' "/> 对象数组 {"success":true,"me

js-求大神指导下拉框多选 按钮问题

问题描述 求大神指导下拉框多选 按钮问题 多选下拉框 带有按钮 点击确定提交数据 一个页面有多个这样的下拉框 提交后前一个下拉菜单选项不清空 解决方案 当你点击下一个下拉框时在js中判断上一个值是否为空 解决方案二: 我想知道怎么做成这个样子 解决方案三: 我想知道的是怎么实现整个效果 解决方案四: 这个就不是下拉菜单.只不过是一些元素加了样式. 比如div,里面包含很多li标签.每个标签内部有一个checkbox和一个span,然后加样式和js就行了

mvc4-@Html.dropdownlist 下拉框多选

问题描述 @Html.dropdownlist 下拉框多选 类似于这样的效果: 不要asp.net的!是asp .net mvc4 解决方案 DropDownList下拉框多选多选下拉框Extjs多选下拉框01 解决方案二: android是可以捕获到crash的,你在这里保存数据参考捕获crashhttp://www.cnblogs.com/draem0507/archive/2013/05/25/3099461.html 解决方案三: 这种是客户端层来模拟的,和你用asp.net ,mv4没

使用easyui写的下拉框多选 怎样才能使部分下拉选项互斥

问题描述 使用easyui写的下拉框多选 怎样才能使部分下拉选项互斥 例如 初级评审和终极评审不能同时选择问题怎样解决??求指教 解决方案 添加onSelect事件判断当前选中的项是否和已经选中的值有互斥的,有就调用unselect方法取消选中 onSelect: function (r) { if (r.value == 'AL' || r.value == 'AK') {//2个互斥的值,判断选中的值 var vs = $(this).combobox('getValues'), v = r

SelecT下拉框选中和取值的解决方法_jquery

 Select下拉框的问题,想在选择一个选项后,前台显示做出变动,并且知道选择的是第几个选项. 这个很好解决: 如下: <div class="page-header"> <div class="form-horizontal"> <div class="control-label col-lg-0"> </div> <div class="col-lg-2"> &l

下拉框已选值的显示-下拉框的值的显示方法

问题描述 下拉框的值的显示方法 解决方案 没看懂你要问的是什么

Jquery Easyui自定义下拉框组件使用详解(21)_jquery

本文实例为大家分享了Jquery Easyui自定义下拉框组件的实现代码,供大家参考,具体内容如下 加载方式 JS调用加载 自定义下拉框不能通过标签的方式进行创建. <input id="box" /> <script> $(function () { //JS 加载调用 $('#box').combo({ required : true, multiple : true, }); }); </script> 属性列表 <script>

自定义的一个简单时尚js下拉选择框_javascript技巧

复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu

DropDownList下拉框多选

本文转载:http://www.cnblogs.com/xiurui12345/archive/2012/05/03/2480686.html   很不错,先收藏了---