我有一个绑定(bind)到 odata 数据源的标准剑道网络组合框。如果您输入它并获得正确的文本和值,它看起来很好。
但是,如果您绑定(bind)了它,并且在代码中设置了 .value() 属性,则不会在文本中查找设置的值。 (如果您正在加载现有数据,这是非常标准的行为)
我会假设它会转到服务器并通过 dataValueField 属性查找确切值并专门返回项目并设置文本。
我该如何让它做到这一点?
最佳答案
让我们有以下ComboBox
:
var combobox = $("#combobox").kendoComboBox({
dataTextField : "ProductName",
dataValueField: "ProductID",
dataSource : {
type : "odata",
transport: {
read: "http://demos.kendoui.com/service/Northwind.svc/Products"
}
}
}).data("kendoComboBox");
(您可以自己使用它,因为它指的是 Kendo UI 服务器中可用的服务)。
然后您可以使用以下代码设置
value
或 text
(无论你喜欢什么)。// Set value of the ComboBox using dataValueField (ProductId)
combobox.value(4);
// Set value of the ComboBox using dataTextField (ProductName)
combobox.text("Chef Anton's Cajun Seasoning");
对于阅读,您应该使用:
alert("Current text/value: " + combobox.text() + "/" + combobox.value());
两种方法都可以正常工作,您可以在这里查看 http://jsfiddle.net/OnaBai/64gXE/ .
关于kendo-ui - 绑定(bind)到 odata 的 Kendo 组合框不查找值集的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15229957/