jquery.chosen.js 在模糊搜索的时候,只能够匹配以相同 字符开头的 选项,现在我想要匹配所有项目,譬如

JavaScript025

jquery.chosen.js 在模糊搜索的时候,只能够匹配以相同 字符开头的 选项,现在我想要匹配所有项目,譬如,第1张

模糊查询时,chosen默认从第一个字符搜索,所以写中间的字符搜索时,是搜索不出来的

--下面的js中(search_contains属性为true即可)可以让chosen搜索选项的中间及末尾字符

no_results_text是搜索不到内容时,显示的提示语

placeholder_text是下拉选项默认显示的文字

disable_search_threshold是select的option选项大于等于此值,才会显示查询的文本框

jQuery(".chosen").chosen({

no_results_text: "My language message.",

placeholder_text : "My language message.",

search_contains: true,

disable_search_threshold: 10

})

或者是直接将jquery.chosen.js的源码修改了

将this.search_contains = this.options.search_contains || !1

改为this.search_contains = true || !1

假设选项固定,需要通过代码修改选中项,处理顺序为

1、先将原有选中项删除

$("#XXXX option[selected='selected']").attr('selected',false)

2、设定新的选中项

$("#XXXX option[value='aaa']").attr("selected",true)

3、重新刷新chosen

if ($("#XXXX").hasClass('chzn-done'))

$("#XXXX").chosen('destroy')

$("#XXXX").chosen(...)