【问题标题】:How to set selected on existing list of options in jQuery-MultiSelect如何在 jQuery-MultiSelect 中的现有选项列表上设置选定项
【发布时间】:2019-12-17 06:42:19
【问题描述】:
@Html.ListBoxFor(x => Model.Materials, Model.Materials, new { id = "listBoxMaterial" })
<script type="text/javascript">
    $(document).ready(function () {
        var product = $('#listBoxMaterial').multiselect({
            search   : true,
            selectAll: true
        });
        var SelectedMaterials = @Html.Raw(Json.Encode(Model.SelectedMaterials));
        if(SelectedMaterials != null){                
            var _selectedMaterials = SelectedMaterials.split(",")
            var options = [];
            $(_selectedMaterials).each(function(i){
                var item = new Object();
                item.name = _selectedMaterials[i];
                item.value = _selectedMaterials[i];
                item.checked = true;
                options.push(item);
            });
            product.multiselect('loadOptions', options, false, true);
        }
    });
</script>

代码正在使用https://github.com/nobleclem/jQuery-MultiSelect 插件
我想在现有的选项列表上设置选定的值。

我在看

loadOptions(options, overwrite, updateSelect)

更新选择列表的选项。默认状态将用这个替换现有列表。

- 将第二个参数设置为 false 以追加到列表中。 (默认 = 真)
- 将第三个参数设置为 false 以保持原生选择列表不变。 (默认 = 真)

我不想覆盖,也不想追加到现有列表。

【问题讨论】:

    标签: javascript jquery asp.net-mvc dropdown html-select


    【解决方案1】:
    $('#your-select').multiSelect('select', String|Array);
    
    $('#your-select').multiSelect('refresh');
    

    【讨论】:

    • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
    • @John 您从哪里获得刷新选项?我在他们的页面中找不到它github.com/nobleclem/jQuery-MultiSelect
    猜你喜欢
    • 1970-01-01
    • 2013-05-18
    • 2012-02-03
    • 2013-07-25
    • 2020-08-29
    • 2015-05-24
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多