select单选框和多选框设置默认值

在使用select单选框的时候,有时候需要配合后台传递的数据设置默认值。这时候需要js来设置select单选框的默认值。

比如我们定义了如下的单选框

<select name="locus" id="selected"  class="form-control">
                        <option>--</option>
                        <option value="DG">DG</option>
                        <option value="CA">CA</option>
                        <option value="HK">HK</option>
                        <option value="DG,CA">DG&CA</option>
                        <option value="DG,HK">DG&HK</option>
                        <option value="HK,CA">HK&CA</option>
                        <option value="HK,CA,DG">HK&CA&DG</option>
                        <option value="ALL USER">ALL USER</option>
                    </select>

 

然后传输数据的使用ModelAndView将数据从后台传递到前端。可以用jstl表达式获取到值。

设置默认值的js代码:

$(function(){
        var selectValue='${locus}';//${locus}是后台通过ModelAndView.add("locus",value)
        var select=document.getElementById("selected");//获取到单选框的位置
        var options=select.options;//获取单选框的选项
        for(var i=0;i<options.length;i++){//遍历单选框选项
            if(options[i].value==selectValue)
                options[i].setAttribute("selected",true);//找到匹配的选项,设置成已选择
        }
    })

 

多选框设置默认值的代码其实和单选差不多。

$(function(){
        var selectedArray='${statucode}';//获取到默认值
        var Array = selectedArray.split(",");//以,将selected字符创切割成字符串数组
        var mulselect=document.getElementById("ms");//找到复选框的位置
        var muloptions=mulselect.options;//获取复选框的选择项
        for(var j=0;j<selectedArray.length;j++) {
            for (var i = 0; i < muloptions.length; i++) {
                if (muloptions[i].value == Array[j]) {
                    muloptions[i].setAttribute("selected",true)//遍历字符串数组和复选框选择项,当有匹配的,就把该选项设置成已选择
                }
            }
        }
    });

然后在初始化multil-select。这里采用的的是bootstrap-multilselect。

 

posted @ 2018-12-14 16:11  __NaCl  阅读(3157)  评论(1编辑  收藏  举报