【问题标题】:KendoUI ComboBox displaying incorrect parsing of REST JSONKendoUI ComboBox 显示 REST JSON 解析不正确
【发布时间】:2013-10-10 05:14:15
【问题描述】:

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

  • {
  • "
  • S
  • e
  • 一个
  • r
  • c
  • h

你明白了。这是我在 javascript 中所做的事情。我正在学习剑道控件,因此不胜感激。

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

我知道我遗漏了一些明显的东西,期待一些指导,谢谢。 斯科特

【问题讨论】:

    标签: javascript json parsing combobox kendo-ui


    【解决方案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"
            }
        })
    });
    

    【讨论】:

    • 感谢 OnaBai。见上文,我错过了数据源的读取。如果您愿意,我可以发布解决方案,并感谢您的说明。我对其进行了重组,它奏效了。当我包含架构时,早期版本失败。感谢您给我另一个解决方案。
    【解决方案2】:

    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"
            }
        })
    });
    

    【讨论】:

    • 感谢 Atanas,我已经通过添加数据源变量然后添加 datasource.read();这是必要的,因为架构属性导致它不显示任何内容。
    猜你喜欢
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多