剑道组合框绑定到odata没有查找文本的值集

Jam*_*ock 5 kendo-ui

我有一个绑定到odata数据源的标准kendo web组合框.如果你输入它并获得正确的文本和值,它看起来很好.

但是,如果绑定了它,并且在代码中设置了.value()属性,则不会查找文本以查找已设置的值.(如果您正在加载现有数据,则非常标准的行为)

我原以为它会去服务器并通过dataValueField属性查找确切的值并专门返回该项并设置文本.

我该怎么做才能做到这一点?

Ona*_*Bai 3

让我们有以下内容ComboBox

var combobox = $("#combobox").kendoComboBox({
    dataTextField : "ProductName",
    dataValueField: "ProductID",
    dataSource    : {
        type     : "odata",
        transport: {
            read: "http://demos.kendoui.com/service/Northwind.svc/Products"
        }
    }
}).data("kendoComboBox");
Run Code Online (Sandbox Code Playgroud)

(您可以自己使用它,因为它指的是 Kendo UI 服务器中可用的服务)。

然后您可以使用以下代码段来设置valuetext(无论您喜欢什么)。

// 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");
Run Code Online (Sandbox Code Playgroud)

为了阅读,你应该使用:

alert("Current text/value: " + combobox.text() + "/" + combobox.value());
Run Code Online (Sandbox Code Playgroud)

这两种方法都可以正常工作,您可以在此处查看http://jsfiddle.net/OnaBai/64gXE/