Javascript 使用无线电输入和knockoutjs选择客户地址
我有一个地址选择屏幕。地址数据来自服务器。数据包括以下值:Javascript 使用无线电输入和knockoutjs选择客户地址,javascript,knockout.js,Javascript,Knockout.js,我有一个地址选择屏幕。地址数据来自服务器。数据包括以下值: Id=地址Id 地址=地址本身 TypeCode=1或2(1是发货地址,2是账单地址) IsDefault=布尔值(这是默认地址) 我将这些数据映射到两个数组中。其中一个包含发货地址,另一个包含账单地址 我有几个问题 当服务器数据出现时,我无法设置默认地址 当我想设置一个新地址时,我单击另一个单选按钮。当我这样做时,我在“selectedShippingAddress”循环中给出了两个地址id。我认为这样做是不对的 以下是一个例子:
=地址IdId
=地址本身地址
=1或2(1是发货地址,2是账单地址)TypeCode
=布尔值(这是默认地址)IsDefault
selectedShippingAddress
”循环中给出了两个地址id。我认为这样做是不对的谢谢。您使用的
已检查绑定方式错误。它不指向应该选择的对象的属性,而是指向具有所选对象ID的可观察对象。i、 e.:选中:$parent.selectedShippingAddres
和selectedShippingAddres=ko.observable()代码>。现在,当您在updateAddresses
中填充数据时,您可以检查并保存默认ID:
$.map(data.AddressListItems, function (v) {
if (v.TypeCode === 1) {
viewModel.shippingAddresses.push(v);
if (v.IsDefault) {
viewModel.selectedShippingAddress(v.Id);
}
} else {
viewModel.billingAddresses.push(v);
if (v.IsDefault) {
viewModel.selectedBillingAddress(v.Id);
}
}
});
工作样本: