【问题标题】:Kendo ComboBox change dataSource to json objectKendo ComboBox 将 dataSource 更改为 json 对象
【发布时间】:2013-05-07 23:52:50
【问题描述】:

我有一个使用 MVC 包装器创建的剑道组合框,如下所示:

@Html.Kendo.ComboBox().Name("Well");

我想使用存储在 javascript 中的 json 数组(不是来自 ajax 查询)手动更新数据 - 我遇到了这段代码,除了我在 ComboBox 中得到 [object Object] 3 次而不是 ' json 数组中的 text' 值:

$("#Well").data("kendoComboBox").dataSource.data([{text: "i1", value: "1"}, {text: "i2", value: "2"}, {text: "i3", value: "3"}]);
$("#Well").data("kendoComboBox").dataSource.query();

【问题讨论】:

    标签: json kendo-ui kendo-combobox


    【解决方案1】:

    文本/值字段似乎没有默认值,因此添加:

    @Html.Kendo.ComboBox().DataTextField("text").DataValueField("value").Name("Well");
    

    解决了这个问题。

    【讨论】:

    • 其实有:""。如果您将数据定义为strings 的数组,它应该可以工作。但当然,这并不能解决有人需要 textvalue 的不同值的情况。
    【解决方案2】:

    以下帮助我解决了动态更新剑道组合框数据源的问题,

    var combobox = $("#selector").data("kendoComboBox"); 
    if(combobox){
        combobox.destroy();
        combobox.dataSource.data(NewDatasourceObject);
        combobox.refresh();
    }    
    

    【讨论】:

      【解决方案3】:
       $("#Well").kendoComboBox({
                  placeholder: "Select...",
                  dataTextField: "text",
                  dataValueField: "value",
                  filter: "contains",
                  autoBind: true,
                  dataSource: {
                      //type: "odata",
                      serverFiltering: true,
                      transport: {
                          read: { url: "../your_json_url" }
                      }
                  }
              });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-14
        • 2018-09-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多