我正在做一些调整,以使用淘汰赛一个项目,我不能为我的生活弄清楚如何更新从jQuery的一个多选的值。 我敢肯定有办法在淘汰赛做它本身,但它是一个微小的变化,我真的不希望有钻研它。
对于选择框的HTML是这样的:
<select id="projectSelect"
data-bind="multiSelect: { items: projects, value: filteredProject, header: false, multiple: false },
optionsText: 'name',
optionsValue: 'id',
optionsCaption: 'All Projects'"
style="display: none;">
</select>
而在淘汰赛这样的定义:
this.filteredProject = ko.observable(null);
this.filteredProject.subscribe(function(projectId)
{
for (var i = 0; i < self.projects.length; i++)
if (self.projects[i].id == projectId)
{
self.filteredProjectObject(self.projects[i]);
self.selectedProjectCheckboxDisabled(false);
return
}
self.onlyShowHoursForSelectedProject(false);
self.selectedProjectCheckboxDisabled(true);
self.filteredProjectObject(null)
});
this.filteredProjectObject = ko.observable(null);
而我目前的jQuery是:
var projSelect = $("#projectSelect");
projSelect.val(projId).change();
projSelect.multiselect("refresh").change()
和jQuery的按钮上按运行。
当jQuery的运行时,多选的更新与新的价值,但依赖于它的代码永远不会运行,并且无论我做什么我不能强迫淘汰赛更新。 撕裂了我的头发在这里,所以任何帮助将是非常赞赏。