我有一个“Product”对象,其值依赖于彼此:
function Product(object) {
this.object = object;
this.data = {
id: this.object.val(),
}
}
var product = new Product($('input[name="productId"]:checked'));
而且......它正在发挥作用。但是,我想在输入变化上重新初始化整个对象,因为我在这里得到的很少:
<input type="radio" name="productId" value="ONE" checked="checked" />
<input type="radio" name="productId" value="TWO" />
我可以在更改事件上手动设置新值:
$(function () {
$('input[name="productId"]').change(function(e) {
e.preventDefault();
product.object = $('input[name="productId"]:checked');
});
});
但它只会改变'对象'值而不会影响其中的其他值。
我当然可以在变更事件上手动设置每个新值,但似乎不对,是吗?每次我想要更新时我都不想重复自己,我只是想重新生成那个对象。
现在我在Product对象中有一个公共函数的解决方法,然后在change事件上调用它。
this.updateData = function() {
this.data.id = this.object.val();
}
但同样,它只是重复每个声明,它会变得非常混乱,因为会出现更多的对象属性而不仅仅是'id'。
答案 0 :(得分:1)
您想要更改对象的每个属性吗?如果是这种情况,那么为什么不创建新对象来代替旧对象呢?
PM>Install-Package MongoDB.Driver
但如果你想出于某种原因保留对象,你可以这样做:
$(function () {
$('input[name="productId"]').change(function(e) {
e.preventDefault();
product = new Product($('input[name="productId"]:checked'));
});
});