Jquery Chosen插件。 选择多个相同的选项

我正在使用所选插件来构建多个选择输入字段。 请参阅此处的示例: http : //harvesthq.github.io/chosen/#multiple-select

如果已选择该选项,则默认行为将禁用该选项。 在上面的示例中,如果您选择“阿富汗”,它将在下拉菜单中显示为灰色,从而禁止您再次选择它。

我需要能够多次选择相同的选项。 插件或手动覆盖中是否有任何设置我可以添加,这将允许这个?

我创建了一个选择版本,允许您多次选择相同的项目,甚至将这些多个条目作为POST变量发送到服务器。 这是你如何做到的(我认为相当容易):

(提示:使用selected.jquery.js中的搜索function查找这些行)


更改:

this.is_multiple = this.form_field.multiple; 

至:

 this.is_multiple = this.form_field.multiple; this.allows_duplicates = this.options.allow_duplicates; 

更改:

 classes.push("result-selected"); 

至:

 if (this.allows_duplicates) { classes.push("active-result"); } else { classes.push("result-selected"); } 

更改:

 this.form_field.options[item.options_index].selected = true; 

至:

 if (this.allows_duplicates && this.form_field.options[item.options_index].selected == true) { $('').attr({type:'hidden',name:this.form_field.name,value:this.form_field.options[item.options_index].value}).appendTo($(this.form_field).parent()); } else { this.form_field.options[item.options_index].selected = true; } 

然后,在调用allows_duplicates chosen() ,请确保包含allows_duplicates选项:

 $("mySelect").chosen({allow_duplicates: true}) 

要解决此问题,请在每个选择(在select事件中)或弹出窗口打开时使用以下代码:

 $(".chosen-results .result-selected").addClass("active-result").removeClass("result-selected"); 

上面的代码删除了结果选择的类,并在li项上添加了active-result类。 因此,每个选定的项目都被视为活动结果,现在您可以再次选择该项目。