这里有一篇文章如何将新值添加到选定的选择列表中:
https://boundlessjourney.wordpress.com/2014/06/12/adding-new-values-to-chosen-plugin/
基本上,您编辑 selected.jquery.js 文件并搜索case 13:
并替换 switch case 中的代码
case 13:
evt.preventDefault();
if (this.results_showing) {
if (!this.is_multiple || this.result_highlight) {
return this.result_select(evt);
}
$(this.form_field).append('<option>' + $(evt.target).val() + '</option>');
$(this.form_field).trigger('chosen:updated');
this.result_highlight = this.search_results.find('li.active-result').last();
return this.result_select(evt);
}
break;
这适用于多选,但就我而言,我希望能够添加一个选项。我在评论中找到了答案,但它缺少代码,我添加了将每个单词大写的功能。
这可以通过将 switch case 中的代码替换为:
case 13:
evt.preventDefault();
if (this.results_showing) {
if (this.result_highlight) {
return this.result_select(evt);
}
$(this.form_field).append('<option>' + ($(evt.target).val()).replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();}) + '</option>');
$(this.form_field).trigger('chosen:updated');
this.result_highlight = this.search_results.find('li.active-result').last();
return this.result_select(evt);
}
break;
也许可以编辑代码,以便它可以接受多选和单选