현재 knockout js 프레임 워크를 사용하여 배우고 놀고 있습니다. 나는 연락처를위한 기본 필드를 가지고있다. 연락처를 아무 문제없이 추가 할 수 있습니다. 그러나 성별 값을 설정하는 데 어려움이 있습니다 male
및 female
. 제대로 선언했지만 JSON 객체를 읽을 때 성별에 대한 값이 표시되지 않습니다. 연락처가 남성 또는 여성 인 경우 왜 표시되지 않습니까? JSFIDDLEjson 객체의 체크 박스 값 받기
var initialData = [{
firstName: "Jenny",
lastName: "LaRusso",
phone: "(555) 121-2121",
alt_phone: "(555) 123-4567",
male: false,
female: true
}, {
firstName: "Sensei",
lastName: "Miyagi",
phone: "(555) 444-2222",
alt_phone: "(555) 999-1212",
male: true,
female: false
}];
var ContactsModel = function (contacts) {
var self = this;
self.contacts = ko.observableArray([]);
ko.utils.arrayForEach(contacts, function (contact) {
self.contacts.push({
firstName: contact.firstName,
lastName: contact.lastName,
phone: contact.phone,
alt_phone: contact.alt_phone,
male: contact.male,
female: contact.female
});
});
self.addContact = function() {
self.contacts.push({
firstName: "",
lastName: "",
phone: "",
alt_phone: "",
male: false,
female: false
});
};
self.removeContact = function (contact) {
self.contacts.remove(contact);
};
self.addPhone = function (contact) {
contact.phones.push({
number: ""
});
};
self.removePhone = function (phone) {
$.each(self.contacts(), function() {
this.phones.remove(phone)
})
};
self.save = function() {
self.lastSavedJson(JSON.stringify(ko.toJS(self.contacts), null, 2));
};
self.lastSavedJson = ko.observable("")
};
ko.applyBindings(new ContactsModel(initialData));
나는 성별 선택에 당신이 라디오 버튼되지 확인란을 사용한다고 생각합니다. 라디오 버튼을 사용하면 하나의 추가 필드를 라디오로들을 수 있습니다. – Akhlesh