【发布时间】:2013-12-04 19:28:10
【问题描述】:
我有一个联系方式列表。用户可以选择、添加和删除这些联系人详细信息。(请参阅小提琴JSfiddle)每当用户单击添加按钮时,都会将新的联系人模型项添加到 DOM。
var ContactModel = {
ContactData : [
{ 'ContactKey': 12323, 'Ref': 'Reference-Marsh', 'ContactName': 'Marsh Global' },
{ 'ContactKey': 44234, 'Ref': 'Reference-AON', 'ContactName': 'AON Co' },
{ 'ContactKey': 65343, 'Ref': 'Reference-Europ', 'ContactName': 'Europ Ltd' },
{ 'ContactKey': 78555, 'Ref': 'Reference-ECB', 'ContactName': 'ECB Tradings' },
{ 'ContactKey': 24242, 'Ref': 'Reference-Jersey', 'ContactName': 'New Jersey Inc' }
],
Items: ko.observableArray(),
MainContacts : ko.observable(),
AddItem: function () {
ContactModel.Items.push(new Contact([]));
},
Remove: function (line) {
ContactModel.Items.remove(line);
}
}
请查看小提琴中的其余代码
当用户单击单选按钮时,选择的单选按钮行数据被视为主要联系人。我必须保存所有行项目数据。这是因为当用户重新访问该页面时,我会将所有带有所选主要联系人的行项。
当用户更改选择列表时,具有ContactKey、Ref和ContactName属性的选中项对象会根据其他observable被更新。
但如果选择单选按钮,则只会更新主要联系人。我已经使用纯 jquery 实现了这一点。但是值单选按钮值绑定对我来说有点混乱。谁能帮我解决这个问题。
【问题讨论】:
标签: data-binding knockout.js radio-button radiobuttonlist