我是新来的淘汰赛。我有 2 个 ViewModel
第一个有 2 个地址,家庭和邮寄地址。
var EntityViewModel = function (clientId, taxYear) {
var self = this;
self.id = ko.observable(null);
self.name = ko.observable('').extend({
required: { message: ' Name is required' },
validation: { validator: maxLength, message: ' Name must be less than 65 characters', params: 65 }
});
self.homeAddress = new AddressViewModel();
self.mailingAddress = new AddressViewModel();
};
第二个是地址视图模型。我尝试做的是如果 state 为 -1,则启用 country dropdownlist,如果 state 为 > 0,则禁用 country dropdownList,并将 countryId 设置为 1,即美国。但问题是每次我更改状态时,都会启用或禁用本国和邮寄国家。我如何解决它?
var AddressViewModel = function () {
var self = this;
self.address1 = ko.observable('');
self.address2 = ko.observable('');
self.city = ko.observable('');
self.zipCode = ko.observable('');
self.stateId = ko.observable(null);
self.countryId = ko.observable(null);
self.enableState = ko.observable(false);
self.enableCountry = ko.observable(false);
self.stateId.subscribe(function (newValue) {
if (newValue <= 0) {
self.enableState(true);
self.countryId(null);
} else {
self.enableCountry(false);
self.countryId(1);
}
});
};
顺便说一句,我还有一个不同的邮寄地址复选框,如果未选中此复选框,则整个邮寄地址都被禁用。如果复选框被选中,那么您可以编辑。
我在 jsFiddler 上上传了我的代码,请帮我修复它。