select 遇到的坑

一、select遇到的坑
     1、select赋默认值--多选和单选
          1.1     单选:$('#id').val( value );     //这里是字符串
          1.2     多选:$('#id').val( array );     //这里必须将多个值组成的字符串(或者其他非数组)转化成数组
               1.2.1     字符串转数组:str.split(",");     //改变原字符串,不创建新的数组,所以改变原字符串为数组,只需要    str.split(",");即可
               1.2.2     数组转字符串:array.join(",");     //创建新的字符串,不会改变原来的数据,所以如果需要修改原数组为字符串,需要将array = array.join(",");
               1.2.3     类似的splice()方法改变原数据,slice方法创建新的数据,不改变原数据
 
     2、select中没有特定option选项,但是需要将此值设为默认值(业务需求)
          2.1     概念性理解:select赋值(或者默认值)是建立在option选项存在的条件下(option中的value),没有某option,则该值无法被赋值
          2.2     将该option选项设置为disabled。但是此时disabled的数据,后台无法获取---》可以在提交的时候,将原本disabled的数据变为可编辑
                    《 $('.disabled').attr("disabled", true) --> $('.disabled').attr("disabled", false) 》
          2.3     将option选项display: hidden;     //无效!!!
 
     3、使用select2插件,select框中需要设置互斥选项     (例如:当选择全部的时候,其他选项清空只有全部,当选择其他选项时,没有全部这个选项,即互斥。或者说两者之间选择后选项(后面选择的项替代当前选项))
                  
             $('#areaItem').on('change', function() {     // select 改变事件
                        var _this = $(this);
                        var codes = _this.val();
                        if (codes[0] === '0') {     //0代表全部
                            _this.val(0);
                            _this.trigger('change.select2');
                        }
                    });

 

 

 

 

 

 

posted @ 2017-08-11 11:10  HelenJ  阅读(585)  评论(0编辑  收藏  举报