knockout-js有关问题
knockout-js问题
如何在修改的时候给select联动一个指定的选中值,是knockout JS哦。
------解决思路----------------------
这个和knockoutjs 有什么大的关系么? knockoutjs 不是负责数据绑定与在html上写代码解析数据么。能看看你具体的代码吗?
------解决思路----------------------
全页面无刷新的咯,以省市区联动为例:
var ViewModel = function () {
var self = this;
self.EditClick = function (item) {
//指定城市
self.GetCity(item.ProvinceID(),
function () {
$("#sel_City").val(item.CityID());
}
);
//设置指定区
self.GetDistrict(item.CityID(),
function () {
$("#sel_District").val(item.DistrictID());
}
);
//指定省
$("#sel_Province").val(item.ProvinceID());
};
self.GetCity = function (provinceID,callback) {
$.getJSON("URL", { "provinceID": provinceID }, function (result) {
if (result.Success) {
//self.CityList.removeAll();
/*循环数据填充下拉项
*/
if (callback) {
callback();
}
}
});
};
}
------解决思路----------------------
ready里的change以及预加载事件都写到ViewModel里好了,统一通过KO的框架进行调用
------解决思路----------------------
------解决思路----------------------
在你初始化页面时,应该仅仅绑定一次 viewModel 对象。然后每当刷新你的 viewModel 对象中的数据,界面就会自动响应。
不是每一次访问服务器都要生成新的 Model 对象,更不应该再次绑定!
如何在修改的时候给select联动一个指定的选中值,是knockout JS哦。
------解决思路----------------------
这个和knockoutjs 有什么大的关系么? knockoutjs 不是负责数据绑定与在html上写代码解析数据么。能看看你具体的代码吗?
------解决思路----------------------
全页面无刷新的咯,以省市区联动为例:
var ViewModel = function () {
var self = this;
self.EditClick = function (item) {
//指定城市
self.GetCity(item.ProvinceID(),
function () {
$("#sel_City").val(item.CityID());
}
);
//设置指定区
self.GetDistrict(item.CityID(),
function () {
$("#sel_District").val(item.DistrictID());
}
);
//指定省
$("#sel_Province").val(item.ProvinceID());
};
self.GetCity = function (provinceID,callback) {
$.getJSON("URL", { "provinceID": provinceID }, function (result) {
if (result.Success) {
//self.CityList.removeAll();
/*循环数据填充下拉项
*/
if (callback) {
callback();
}
}
});
};
}
------解决思路----------------------
ready里的change以及预加载事件都写到ViewModel里好了,统一通过KO的框架进行调用
------解决思路----------------------
var viewModel = {
countries: ['Japan', 'Bolivia', 'New Zealand'],
selectedCountry: ko.observable('Japan')
};
viewModel.selectedCountry = "Bolivia";
ko.applyBindings(viewModel);
------解决思路----------------------
在你初始化页面时,应该仅仅绑定一次 viewModel 对象。然后每当刷新你的 viewModel 对象中的数据,界面就会自动响应。
不是每一次访问服务器都要生成新的 Model 对象,更不应该再次绑定!