选择jQuery插件 - 限制Multiselect中的选定选项

时间:2014-01-24 16:07:14

标签: jquery jquery-plugins

我正在使用Choosen jquery插件,我想在multiselect中限制所选的选项。有一个建议的解决方案$(".chosen-select").chosen({max_selected_options: 5});但它对我不起作用!!

这是我的js文件:

$(document).ready(function(){
// .....
$(".chosen-select").chosen({max_selected_options: 5});
//.....
});

这是php文件:

<em>Country</em>
<select data-placeholder="Choose your country..." id="mycountry" class="chosen-select" multiple style="width:400px;" tabindex="4">
                <option value=""></option>
                <?php  
// Data from dataabse
?>
</select>

3 个答案:

答案 0 :(得分:5)

此代码适用于我 -

 $(".demo-chosen-select").chosen({
    max_selected_options:3, //Max select limit 
    display_selected_options:true, 
    placeholder_text_multiple:"Select some options", 
    no_results_text:"Results not found", 
    enable_split_word_search:true, 
    search_contains:false, 
    display_disabled_options:true, 
    single_backstroke_delete:false,
    width:"200px", 
    inherit_select_classes:true 
 });

多数民众赞成......

答案 1 :(得分:1)

安装Chosen时,您必须在网页中添加以下行:

<script type="text/javascript">
             var config = {
               '.chosen-select'           : {},
               '.chosen-select-deselect'  : {allow_single_deselect:true},
               '.chosen-select-no-single' : {disable_search_threshold:10},
               '.chosen-select-no-results': {no_results_text:'Oops, nothing found!'},
               '.chosen-select-width'     : {width:"95%"}
             }
             for (var selector in config) {
               $(selector).chosen(config[selector]);
             }

您必须使用这些行配置您选择的插件。例如,如果要限制多项选择中的五个项目中的选定选项。可以使用以下新行'.chosen-select' : {},

更新此行'.chosen-select' : {max_selected_options: 5},

这都是

答案 2 :(得分:0)

以上解决方案需要在初始化时传递选项。因此,您需要设置全局限制,或单独初始化页面上的每个不同的有限选择。

我将以下if块添加到selected.jquery.min.js中的组件(对于选择的v1.3.0)

&#13;
&#13;
Chosen.prototype.on_ready = function () {
if(this.form_field.getAttribute('data-limit')){
   this.max_selected_options = this.form_field.getAttribute('data-limit');
}
return this.form_field_jq.trigger("chosen:ready", {chosen: this})
&#13;
&#13;
&#13;

这将从select和replace中读取data-limit属性,或在初始化时创建max_selected_option。