Javascript 根据另一个下拉字段重置knockout.js值
我有一组下拉字段(使用knockout.js),用于“动态”构建两个javascript函数,我在网站上使用它们,并通过链接触发它们 第一个功能是完美构建 第二个函数使用下拉列表“Duration”使“VIP加1年”或“VIP加2年”选项出现/消失,并构建第二个函数 问题是,当我在“期限”中选择“1年”,然后选择“Vip加1”选项时,正确的sku将添加到我的第二个功能中,但如果我改变主意并在期限中选择“2年”,该值将保留在第二个功能中,并添加到我输出中的新“Vip加2年”sku中 理想情况下,如果在“VIP加1年”或“VIP加2年”下拉列表中未选择任何内容,则第二个功能将根本不会出现 这可能很容易解决,但因为我是js的初学者,所以我在那里被绊住了 请访问查看我的预览Javascript 根据另一个下拉字段重置knockout.js值,javascript,knockout.js,Javascript,Knockout.js,我有一组下拉字段(使用knockout.js),用于“动态”构建两个javascript函数,我在网站上使用它们,并通过链接触发它们 第一个功能是完美构建 第二个函数使用下拉列表“Duration”使“VIP加1年”或“VIP加2年”选项出现/消失,并构建第二个函数 问题是,当我在“期限”中选择“1年”,然后选择“Vip加1”选项时,正确的sku将添加到我的第二个功能中,但如果我改变主意并在期限中选择“2年”,该值将保留在第二个功能中,并添加到我输出中的新“Vip加2年”sku中 理想情况下,如
成员资格:
新成员
续会
礼品会员
类别:
贵宾个人
贵宾家庭
贵宾
贵宾生
持续时间:
1安
2安
VIP加1年:
不,谢谢
贵宾加1
贵宾加2
贵宾加3
VIP加2年:
不,谢谢
贵宾加1
贵宾加2
贵宾加3
var ViewModel=函数(成员资格、类别、持续时间、vipplus1、vipplus2){
this.membership=ko.可观察(成员资格);
this.category=ko.可观察(category);
this.duration=ko.可观察(duration);
this.vipplus1=ko.可观察(vipplus1);
this.vipplus2=ko.可观察(vipplus2);
this.mvipsku=ko.computed(函数(){
返回“addMembershipToCart”(“+”MVIP-“+this.membership()+”-“+this.duration()+”-“+this.category()+”);“+”
“+”addProductToCart(“+”this.vipplus1()+this.vipplus2()+”);“;
},这个);
};
ko.applyBindings(新的ViewModel());//这使得击倒开始工作
函数showForm(){
var selopt=document.getElementById(“opts”).value;
如果(selopt==1){
document.getElementById(“f1”).style.display=“block”;
document.getElementById(“f2”).style.display=“无”;
}
如果(selopt==2){
document.getElementById(“f2”).style.display=“block”;
document.getElementById(“f1”).style.display=“无”;
}
}
您应该订阅持续时间的更改
并清除相应的VIP Plus设置:
self.duration.subscribe(function(newValue) {
if(newValue == '1') {
self.vipplus2(null);
} else if(newValue == '2') {
self.vipplus1(null);
}
});
非常感谢您的帮助xdumaine!
self.duration.subscribe(function(newValue) {
if(newValue == '1') {
self.vipplus2(null);
} else if(newValue == '2') {
self.vipplus1(null);
}
});