bootstrap-select java后端取select多选值

使用bootstrap-select时,下拉多选值的获取遇到了问题,正常方式获取select的值,只能获取最后一次选中项的值;这里参考网友们的做法,暂时只能通过一个隐藏input控件传值,这里只贴获取select所有选中值的js代码。

参考:

https://blog.youkuaiyun.com/aijava_1990/article/details/55098681

https://www.cnblogs.com/beileixinqing/archive/2018/05/22/9070671.html

<input type="hidden" class="form-control" name="channelsList" id="channelsList" >
渠道:
<select name="channels" id="channels"  class="selectpicker" title="全部" multiple data-live-search="true" data-selected-text-format="count > 2">
    <option value="10001">测试1</option>
    <option value="10002">测试2</option>
    <option value="10003">测试3</option>
</select>

 

提交表单时给channelsList赋值,后端通过数组或字符串接收channelsList值(字符串将取到逗号分隔的字符串)。

 

1. 直接通过jquery的val()函数获取select所有被选中项

  

    function doSubmit(){
            $("#channelsList").val($("#channels").val());//选中值逗号拼接放入隐藏元素
        }

 

2. jQuery遍历选中项获取

    function doSubmit(){
            var str=[];
            $("#channels option:selected").each(function () {
                str.push($(this).val());// 收集选中项
            })
			alert(str);
            $("#channelsList").val(str);
        }

 

3. js遍历判断选中获取


    function doSubmit(){
            var str=[];
            var obj = document.getElementById("channels");
            for(var i=0;i<obj.options.length;i++){
                if(obj.options[i].selected){
                    str.push(obj.options[i].value);// 收集选中项
                }
            }
			alert(str);
            $("#channelsList").val(str);
        }

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值