【问题标题】:Bootstrap-select multiple display issueBootstrap-选择多个显示问题
【发布时间】:2018-01-28 08:19:14
【问题描述】:

我使用以下参数激活了多项选择:

$(".selectpicker").selectpicker({
        width: '100%',
        noneSelectedText: messages['nothingSelected']
});

我正在从数据库中获取一些值并尝试相应地调整多选的选定值,就像在 javascript 中这样:

for (j = 0; j < inputArray.length; j++) {
            $("#user-input") 
                    .children()
                    .filter("[value = '" + inputArray[j] + "']")
                    .prop('selected', true);
}

而且它有效。这些值是 100% 选择的,因为我对其进行了测试,但我得到的文本仍然是我设置的 noneSelectedText。并且 bootstrap-select 在所有选定的值上都附加了一个“CHECKED”标志,这也是缺失的。单击选定的值按预期工作并取消选择它,然后从那里渲染正常。但是我怎样才能让它从一开始就显示所有内容呢?

编辑:这样做

$("#user-input") 
                .children()
                .filter("[value = '" + inputArray[j] + "']")
                .prop('selected', true)
                .change();

显示选定的值,但仍不显示选定值的“已检查”图标。如果有人知道我该如何解决这个问题..

【问题讨论】:

    标签: javascript bootstrap-select


    【解决方案1】:

    所以我最初的猜测是你需要调用 .selectpicker('refresh')。

    我设法复制了您看到的行为,而我的解决方案确实是在 for 循环之后刷新 selectpicker。

    for (j = 0; j < inputArray.length; j++) {
               $("#user-input") 
                    .children()
                    .filter("[value = '" + inputArray[j] + "']")
                    .prop('selected', true);
    }
    $('.selectpicker').selectpicker('refresh');
    

    请注意,您无需调用 .change(),因为您正在刷新选择器。

    【讨论】:

      猜你喜欢
      • 2018-06-04
      • 2017-01-27
      • 1970-01-01
      • 2016-02-06
      • 2017-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多