//改变触发事件 考法的查询 在公共的地方去查询 改变触发事件当知识点树上的勾选状况发生变化时 触发响应事件 。
$("#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 生成的选框
}
});
});