Javascript 如何在kendo listview中更改数据源
这是我用来根据日期将远程数据绑定到ListView的方法Javascript 如何在kendo listview中更改数据源,javascript,html,ajax,listview,kendo-ui,Javascript,Html,Ajax,Listview,Kendo Ui,这是我用来根据日期将远程数据绑定到ListView的方法 function getListData(date) { $.ajax({ type: "POST", url: wcfurl + "getList", data: '{"date":"' + date + '"}', contentType: "application/json; charset=utf-8", dataType: "json",
function getListData(date) {
$.ajax({
type: "POST",
url: wcfurl + "getList",
data: '{"date":"' + date + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
processdata: true,
success: function (data) {
$.each(data, function (i, item1) {
listds = item1;
});
$("#listview").kendoListView({
dataSource: new kendo.data.DataSource({
data: JSON.parse(listds)
}),
template: kendo.template($("#template").html()),
altTemplate: kendo.template($("#altTemplate").html()),
selectable: true,
change: function () {
var index = this.select().index(), dataItem = this.dataSource.view()[index];
alert("id: " + dataItem.id + ", table: " + dataItem.tableno);
}
});
},
error: function (result) {
alert("error : " + result);
}
});
}
通过以下方法,我将日期传递给此[getListData(日期)]
方法
function initCalander() {
$.ajax({
success: function () {
var today = new Date(),
events = [+new Date(today.getFullYear(), today.getMonth(), 10),
+new Date(today.getFullYear(), today.getMonth(), 20)];
$(".calendar").kendoCalendar({
value: today,
dates: events,
change: function () {
var d = kendo.toString(this.value(), 'd');
getListData(d);
}
});
}
});
}
这在开始时效果很好,但是如果我更改列表与当前数据重新绑定的日期,直到现在还可以,问题是,在listview的change
中,警报消息出现两次,第一次显示旧数据,第二次只显示当前数据
我不知道是什么问题。任何帮助都是非常值得的
谢谢。您多次初始化ListView,我不推荐这样做 相反,您只能初始化ListView和日历一次—当触发DOM就绪事件时,从那时起,您可以使用数据源的方法,如来设置基础集合。尝试此操作
function initCalander() {
$.ajax({
..
var d = kendo.toString(new Date(result.Value), 'd');
getListData(d);
..
});
}
你能创建一个演示吗?@LarsHöppner对不起,朋友,现在我的服务只在locolhost中提供。我现在该怎么办?我是新手,你能再解释一下吗,
我如何初始化它一次并更改数据?