重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在select标签中添加multiple="multiple"属性,即可多选,如下
从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供网站建设、网站制作、网站策划、网页设计、域名与空间、网站空间、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。
select multiple="multiple"
multiple 属性可设置或返回是否可有多个选项被选中。
插件没有,不过可以说说原理;设置一个input type=“text" readonly=truebr/select multiple style="display:none"/select,当点击input的时候,查询数据库,将值赋值给select并让select显示出来,选择option的时候给input赋值就搞定了。
思路:jquery 获取select多选下拉框所有选项的值,可以通过选取多选的数组进行循环判断即可。
方法如下:
function f(){
var se = document.getElementById("t");
var s = [];
for(i=0;ise.length;i++){
if(se.options[i].selected){
s.push(se[i].value);
}
}
alert(s);
}
select id="t" multiple="true"
option value="a"option-A/option
option value="b"option-B/option
option value="c"option-C/option
option value="d"option-D/option
/select
input type="button" value="确定" onclick="f()" /
如图所示:
第一步,创建静态页面select.html,引入select2相关的css和js文件,并引入jQuery核心js,如下图所示:
第二步,在body标签内插入select元素,设置属性multiple和class,宽度为300px,如下图所示:
第三步,初始化select2插件,需要调用select2()方法,如下图所示:
第四步,为了演示获取下拉框值,这里利用button按钮点击事件,在select下方插入一个button按钮,如下图所示:
5
第五步,编写按钮点击事件,事件里获取多选下拉框值和文本内容,如下图所示:
6
第六步,在浏览器中进行预览,点击“取值”按钮,会看到打印下拉框选择的值和文字,如下图所示:
jquery 获取select多选下拉框所有选项的值可以如下实现
var all = "";
$("select option").each(function() {
all += $(this).attr("value")+" ";
});
而值获取被选中的值可用如下代码实现
$("select").val();
下面给出实例代码:
创建Html元素:一个多选列表和一个按钮
select id="multi-sel" multiple="multiple"
option value="1"萝卜,我的value是1/option
option value="2"青菜,我的value是2/option
option value="3"小葱,我的value是3/option
option value="4"豆腐,我的value是4/option
/select
input type="button" value="点击显示选择的项目"
简单设置一下css样式
select{width:200px;height:150px;padding:10px;border:4px dashed #ccc;}
select option{margin:5px;}
input[type='button']{width:200px;height:35px;margin:10px;border:2px dashed #ebbcbe;}
编写jquery代码:实现获取所有值和获取选中值
$(function(){
$("input:button").click(function() {
var all = "";
$("select option").each(function() {
all += $(this).attr("value")+" ";
});
var sel = $("select").val();
alert("多选列表所有的value值:"+all+",其中被选中的是:"+sel+"。");
});
})
观察效果
这个插件没有定义控件的高度的配置,控件也没有设置高度,依据内容的高度来确定控件整体高度,你可以给样式添加高度即可。不过还是修改源代码来实现高度控制好点,可以随便配置,而不用统一
2者结合也可以
css覆盖部分,你也可以修改jquery.multiselect.css这个css文件增加style里面的样式
link rel="stylesheet" type="text/css" href="../jquery.multiselect.css" /
style
.ui-multiselect{line-height:30px;height:30px}
/style
或者修改jquery.multiselect.js文件,增加一个cHeight配置,用来控制控件的高度,找到下面的这句,修改成这样
var button = (this.button = $('button type="button"span class="ui-icon ui-icon-triangle-1-s"/span/button'))
===改成这样,判断配置了cHeight增加增加style控制高度
var button = (this.button = $('button type="button"'+(o.cHeight?' style="height:'+o.cHeight+'px"':'')+'span class="ui-icon ui-icon-triangle-1-s"/span/button'))
DEMO
$("select").multiselect({cHeight:40});