Knockout 重新绑定注意要点
2024-10-01 18:19:13
function ReImport(id) { //点击按钮时调用函数名称,
var node = document.getElementById('bindingNode'); //bindingNode 为内部绑定订单子项的div或是table id,每次html(data)后会重新建立
if (node) {
$(node).unbind();
$(node).find("*").each(function () {
$(this).unbind();
});
ko.removeNode(node);//解绑
}
//http://localhost:7486/Order/EditByIndex?id=61521
$("#orderdetalis").html('');
$.get('@Url.Action("EditByIndex")', { id: id, r: Math.random() }, function (data) { //此处action中包含了<div id="bindingNode"> $("#orderdetalis").html(data); //此处orderdetails为本页面的一个div id 注意,如有错误 jquery html()方法不执行
$("#myModal").modal();
var node_new = document.getElementById('bindingNode'); //此处bindingNode因为被remove掉,必须再次查找后 绑定到对像 ko.applyBindings(obj1, node_new);
})
}
function AppViewModel() {
var self = this;
self.OrderItems = ko.observableArray([]);
self.removeOrderItem = function () {
if (confirm('确认删除吗?')) {
self.OrderItems.remove(this);
}
}
self.addOrderItem = function () {
push({ 'ProductName': '', 'ProductCode': '', 'Price': 0, 'Quality': 1 });
}
self.TotalAmount = ko.computed(function () {
var amount = 0;
var array = self.OrderItems();
for (var i = 0 ; i < array.length; i++) {
var price = getFloat(array[i].Price());
var quality = getFloat(array[i].Quality());
amount += Math.formatFloat(quality * price, 2);
}
return "总金额:" + Math.formatFloat(amount, 2).toString();
}, this);
} var obj1 = new AppViewModel(); function push(obj) {
var itemModel = function (item) {
var self = this;
self.ProductName = ko.observable(item.ProductName);
self.ProductCode = ko.observable(item.ProductCode);
self.ImportStore = ko.observable(item.ImportStore);
self.Price = ko.observable(item.Price);
self.Quality = ko.observable(item.Quality);
};
obj1.OrderItems.push(new itemModel(obj));
} function buildArray(array) {
obj1.OrderItems([]);
for (var i = 0 ; i < array.length ; i++) {
push(array[i]);
}
}
最新文章
- selenium support
- poj 3368 Frequent values(RMQ)
- 分享一个强大的采集类,还可以模拟php多进程
- List对象排序的通用方法
- [原创]cocos2d-x研习录—前言
- 关于java -version版本问题
- Hash (poj2002-Squares &; poj3349-Snowflake Snow Snowflakes)
- JavaScript常用
- 利用html5中的localStorage获取网页被访问的次数
- hdu 2871 Memory Control(伸展树splay tree)
- pig加载两个不同字段个数的文件?load file with different items(f1有42列,f2有43列读到一个对象中)
- Java:配置环境(Mac)——Eclipse;修改JDK版本后,Eclipse打不开
- Golang 包管理简介
- springMVC_06数据的处理
- Git .gitignore文件的使用
- java-信息安全(十)-数字签名算法DSA
- [原]openstack-kilo--issue(十六) instance can&#39;t get ip 虚拟机不能得到ip(1)
- js 定义一个对象并且给对象赋值方法
- 1195: [HNOI2006]最短母串
- Django学习笔记第九篇--实战练习五--关于数据的改、删操作、数据库字段属性的设置和类视图