在页面加载时将 bootstrap-select 选项标记为 selected

Mark bootstrap-select options as selected on page load

我正在使用 bootstrap-select 允许用户在下拉列表中 select 多个选项。此 jQuery 代码在页面加载时将特定选项标记为 selected。当页面加载时,该列表是根据代码自动select编辑的。

当我发布此页面时,我发现虽然页面源代码显示了正确的 jQuery 代码,但下拉列表并未预先 selecting。我在控制台日志中没有看到任何错误。下面的页面源代码显示了来自视图模型的正确 "weeks" 值。

我看不到代码有任何明显的错误,令我困惑的是有些东西可以在我的本地电脑上运行,但不能在发布的网页上运行。由于没有触发任何错误,还有什么我可以检查的吗?

// this comes from the View Model -- this is correct
var weeks = [];
weeks.push("Quarter 1 Week 1: Aug 7 - Aug 11");

// mark selected items in week list
var weekList = $("#Weeks > option");
$.each(weekList, function (a1, a2) {
    var $this = $(this);
    $.each(weeks,function(b1, b2) {
        if (a2.text === b2) {
            $this.attr("selected", "selected");
        }
    });
});

虽然代码是正确的,但应用它所需的最后一条语句是:

$('.selectpicker').selectpicker('render');

这会强制 select 列表刷新并应用上面的 jQuery 代码。