转载地址:https://www.cnblogs.com/zhengyeye/p/6628460.html
附加,chosen选项列表网址:https://github.com/amazeui/chosen/blob/master/docs/options.md
重点在于:
1.每次更改之后的更新和初始化。
2.当时项目中使用ajax返回动态拼接HTML时候的代码:
//第四个th,考核人
tbody += '<th id="kaoheren'+data[i].skpi_content_number+'" class="center" nowrap="nowrap" style="width:20%;">';
tbody += '<input type="hidden" name="DKPIEXT_ID'+data[i].skpi_content_number+'" id="dkpiext_id'+data[i].skpi_content_number+'" value="'+data[i].skpiext_id+'"/>';
tbody += '<select multiple="multiple" class="chosen-select form-control" name="EMP_ID'+data[i].skpi_content_number+'" id="emp_id'+data[i].skpi_content_number+'" data-placeholder="请选择考核人" style="vertical-align:top;" style="width:98%;" >';
tbody += '<option value=""></option>';
tbody += '<c:forEach items="${empList}" var="emp">';
if(data[i].emp_id == '${emp.emp_id }' ){
tbody += '<option value="${emp.emp_id }" selected> ${emp.emp_name } </option>';
}else{
tbody += '<option value="${emp.emp_id }" > ${emp.emp_name } </option>';
}
tbody += '</c:forEach></select></th>';
$("#emp_id"+data[i].skpi_content_number).trigger("chosen:updated");//动态添加html,使用 chosen-select必须加,否则插件无效果
$("#emp_id"+data[i].skpi_content_number).chosen();//动态添加html,使用 chosen-select必须加,否则插件无效果
上述黄色标记,本来准备写成一句,类似下面的
<c:forEach items="${empList}" var="emp">
<option value="${emp.emp_id }" <c:if test="${pdS.emp_id==emp.emp_id}">selected</c:if>> ${emp.emp_name } </option>
</c:forEach>
这样的判断的,但是多次拼接都不能显示,后来换成简单的 if 判断了。