16

我试图在另一个 DropDownList 更改后刷新下拉列表,但 Refresh() 方法是未定义的错误正在促进。我再次尝试读取数据源,它显示它正在加载,但数据仍然相同。帮助解决这个问题请。

代码:

$("#DropDownList1").change(function () {
   custCode = $("#DropDownList1").val();

   $("#titles").data("kendoDropDownList").dataSource.read(); //shows list Loading But Same Data Is present .
   $("#titles").data("kendoDropDownList").refresh(); //NOT Working 

});
4

6 回答 6

25

1-尝试cache: false在 Kendo DropDownList 的数据源读取属性中添加以禁用缓存:

read: {
    url: <<"url">>,
    cache: false
}

2-然后打电话read()

$("#ddl").data("kendoDropDownList").dataSource.read();

它对我有用:)

于 2012-08-27T09:02:14.333 回答
8

对我来说,这条线完成了这项工作:

$("#myDropDownList").data("kendoDropDownList").dataSource.read();

于 2013-12-09T15:57:54.277 回答
1

您可能会发现将参数传递给 dataSource 的“.data()”很有用。

例子:

var myDataSource={bookId: 10, Name: "Kendo"}
$("#titles").data("kendoDropDownList").dataSource.data(myDataSource);

但是,当您想根据另一个 DropDownList 的选择更新一个 DropDownList 时,您也可以尝试 DropDownList 的cascadingFrom属性

//胡迪尼

于 2014-07-15T16:54:04.577 回答
0

在您的阅读网址上添加 '?myDate=' + new Date()。这将刷新数据。没有它(除非你有元标记来防止缓存)它会给你它已经读取的数据。

于 2015-03-23T22:56:58.183 回答
0

就我而言,我评论了这一行

//cascadeFrom: "dropdown1_id"

在第二个剑道下拉菜单中,它工作了,由于某种原因,它弄乱了数据源更新。

于 2018-06-13T08:59:19.850 回答
0

看起来剑道下拉列表已经改变。现在答案是:

    var dataSource = new kendo.data.DataSource({
        data: my_new_json_list
    });
    var dropdownlist = $("#products").data("kendoDropDownList");
    dropdownlist.setDataSource(dataSource);

参考:https ://docs.telerik.com/kendo-ui/api/javascript/ui/dropdownlist/methods/setdatasource

于 2022-01-23T04:43:48.193 回答