2017.10.9. 关于chosen多选框 的使用

   
    //改变触发事件   考法的查询  在公共的地方去查询  改变触发事件当知识点树上的勾选状况发生变化时 触发响应事件 。
    $("#knowledgeTree input[name='knowledges']").live('click',function(){
        var ken_arr = $("#knowledgeTree input[name='knowledges']:checked"); //:checked 选择器将匹配到的所选中的表单域元素封装成jq对像并返回
        var ken_ids = "";
        var sid = $('#subject_id').val();
        var ctx = $('#ctx').val();
        if(ken_arr){
            $.each(ken_arr,function(){ //遍历 将数组的进行拼接
                ken_ids += $(this).val()+","; //这种数组拼接的方法应该该学习下
            });
            ken_ids = ken_ids.substring(0,ken_ids.length-1); //截取
            
            
        }
        $.ajax({
             url:ctx+"/testquestion/getTestModeByKenId.do",
             type:"post",
             dataType:'json',
             data:{"subject.id":sid,"ken_ids":ken_ids},
             success:function(data){
                 var testmode_ids = $('#testmode_ids').val();
                 $(".chzn-select").empty(); //清空 下面的重新去选
                 var html = '<option value="" maxlength="50"><font style="color: #eeeeee;">请选择考法</font></option>';
                 if(data && data.length>0){ //将查询到的数据 回显到选择框里面
                     for (var i = 0; i < data.length; i++) {  
                         if(testmode_ids && testmode_ids.indexOf(data[i].testmode_id) > -1){ //判断如果之前有值并且能在 testmode_ids 中找到 返回的考点id
                             html += '<option value="'+data[i].testmode_id+'_'+data[i].testmode_name+'" selected maxlength="50">';
                    // 拼接多选框的下拉框 被选中的状态
                         }else{
                             html += '<option value="'+data[i].testmode_id+'_'+data[i].testmode_name+'" maxlength="50">';
                         }
                         html += '<font style="color: #eeeeee;">';
                         html += data[i].testmode_name+'</font></option>';
                        
                     }    
                 }
                 $(".chzn-select").append($(html));
                $('.chzn-select').chosen("destory"); //重新刷新chosen
                $('.chzn-select').trigger("chosen:updated"); //Chosen 监听的事件 通过 JS 改变 select 元素选项时应该触发此事件,以更新 Chosen 生成的选框
             }
            });
    });

原文地址:https://www.cnblogs.com/dushutai/p/7642025.html