KendoUI ComboBox显示不正确的REST JSON解析

时间:2013-10-10 05:14:15

标签: javascript json parsing combobox kendo-ui

我有一个宁静的服务回复{"SearchMode":["Customer","Address","Street","City"]},一切都很好。我正在尝试将其中的每一个添加为Kendo ComboBox中的一个选项。但是,它正在解析它并将每个字母显示为一个选项:

  • {
  • 取值
  • ë
  • 一个
  • - [R
  • C
  • ħ

你明白了。这是我在javascript中做的事情。我正在学习剑道控制,所以感谢任何帮助。

$(#cboSearch").kendoComboBox({autobind:false, minLength:3, datasource:{type:json, serverFiltering: true, transport:{ read: { url: "http://myrestservicehere?f="}}} });

我知道我错过了一些明显的东西并期待得到一些指导,谢谢。 斯科特

2 个答案:

答案 0 :(得分:1)

DataSource定义中缺少在返回的对象中包含选项的数组的位置。这是使用schema.data完成的。它应该是:

$("#cboSearch").kendoComboBox({
    autoBind       : false,
    minLength      : 3,
    dataSource: new kendo.data.DataSource({
        serverFiltering: true,
        transport      : {
            read: {
                url: "http://myrestservicehere?f="
            }
        },
        schema         : {
            data: "SearchMode"
        }
    })
});

答案 1 :(得分:1)

ComboBox不支持绑定到字符串数组。您可以尝试将JSON更改为:

{
  "SearchMode": [
     {"text":"Customer"},
     {"text":"Address"},
     {"text":"Street"},
     {"text":"City"}
  ]
}

然后像这样配置组合框:

$("#cboSearch").kendoComboBox({
    autoBind       : false,
    minLength      : 3,
    dataTextField  : "text",
    dataValueField : "text",
    dataSource: new kendo.data.DataSource({
        serverFiltering: true,
        transport      : {
            read: {
                url: "http://myrestservicehere?f="
            }
        },
        schema         : {
            data: "SearchMode"
        }
    })
});