javascript - Bootstrap-选择多显示问题

标签 javascript bootstrap-select

我有一个使用以下参数激活的多重选择:

$(".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();

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

最佳答案

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

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

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

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

关于javascript - Bootstrap-选择多显示问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48441860/

相关文章:

javascript - JS 如何正确替换引号上的 `&quot`

jquery - 带 Bootstrap 选择的输入组插件

javascript - 用于拆分成句子的正则表达式,忽略小数作为拆分的一部分?

javascript - 对由数字组成的字符串数组进行排序

javascript - CryptoJS.AES.decrypt 失败原因?

javascript - 在 bootstrap-select 上显示/隐藏选项?

javascript - DeselectAll 不适用于 Bootstrap-select

css - Bootstrap-select 不适用于动态填充的下拉列表

javascript - js : str. 用 Promise 替换()

javascript - 添加类时,粘性导航会跳过几个像素