与kendocombobox的问题
我在我的html中定义了kendocombox,如下所示
combobox正确加载并设置值,但是当它没有将焦点设置到列表中的正确项目时。 见下图
您可以看到值为5.5.1,但它设置为5.4,这是列表中的第一项。 我现在知道它为什么会发生。 在我的combobox中,您可以看到我将值设置为$ root.editFrameworkVersion。 在我的视图模型中,我对该值使用subscribe事件。 见下面的代码
self.editFrameworkVersion.subscribe(function (value) { var combobox = $("#selFrameworkVersion").data("kendoComboBox"); var callback = function (data) { self.editOnlyAlternativeVersions(self.versionListByProductType()); combobox.select(function (dataItem) { return dataItem.Name === value; }); self.editOnlyAlternativeVersions.remove(function (data) { return parseInt($("#selFrameworkVersion").attr('value')) === parseInt(data.Id()); }); }; loadVersionListByProductType(self.editProductType().Id(), callback);
});
我使用这个订阅事件来做一些逻辑。 在这种情况下,我正在调用WCF服务,该服务在该combobox中再次加载值,这就是为什么它总是设置为第一个值。 但是我需要为某些逻辑调用该服务。 然后我在上面已经看到的订阅事件中添加了代码
combobox.select(function (dataItem) { return dataItem.Name === value; });
此代码正确设置值,但仅在combobox丢失焦点时才设置。 我该怎么办?
在这里的ComboBox演示中,他们使用index
属性来设置最初选择的项目。 不确定你是否可以在你的情况下尝试。 否则,还有一个.select()方法 ,您可以在窗口小部件上调用该方法来设置所选项目。
它没有根据value
设置所选项目似乎很奇怪。 也许这是一个错误。
尝试这样的$(“#selFrameworkVersion”)。attr(“autofocus”,true);