Javascript Knockoutjs检查绑定函数调用问题
我试图在选中复选框并相应地设置字段值时调用函数。复选框和地址字段如下所示Javascript Knockoutjs检查绑定函数调用问题,javascript,jquery,razor,knockout.js,Javascript,Jquery,Razor,Knockout.js,我试图在选中复选框并相应地设置字段值时调用函数。复选框和地址字段如下所示 <div class="form-check"> <input class="form-check-input position-static" type="checkbox" id="SameAsShippingAddress" value="SameAsShippingAddress" data-
<div class="form-check">
<input class="form-check-input position-static" type="checkbox" id="SameAsShippingAddress" value="SameAsShippingAddress" data-bind="checked: sameAsShippingAddress" />
<label>Check this box if Shipping Address and Billing Address are the same.</label>
</div>
<div class="row">
<div class="col-md-6">
<h4>Shipping Address:</h4>
<div class="form-group required">
<label for="EmailCompetitor" class="control-label">Email:</label>
<input type="email" maxlength="150" id="EmailCompetitor" name="EmailCompetitor" class="form-control" data-bind="value: emailCompetitor" required />
</div>
<div class="form-group required">
<label for="FirstNameCompetitor" class="control-label">First Name:</label>
<input type="text" maxlength="150" id="FirstNameCompetitor" name="FirstNameCompetitor" class="form-control" data-bind="value: firstNameCompetitor" required />
</div>
</div>
<div class="col-md-6">
<h4>Billing Address:</h4>
<div class="form-group required">
<label for="EmailCompetitor_Billing" class="control-label">Email:</label>
<input type="email" maxlength="150" id="EmailCompetitor_Billing" name="EmailCompetitor_Billing" class="form-control" data-bind="value: emailCompetitor_Billing" required />
</div>
<div class="form-group required">
<label for="FirstNameCompetitor_Billing" class="control-label">First Name:</label>
<input type="text" maxlength="150" id="FirstNameCompetitor_Billing" name="FirstNameCompetitor_Billing" class="form-control" data-bind="value: firstNameCompetitor_Billing" required />
</div>
</div>
但是,如果选中/取消选中复选框,则根本不会调用此函数
我尝试放置断点,但函数不在其上。对于这个JS世界来说,任何帮助都是非常感谢的嘿,我给你做了一个小片段来告诉你,当使用一个可观察和选中的绑定时,它工作得非常好,当选中复选框时,它是“真”的,如果不是“假” 要自定义其他输入的setting.val()之类的内容,只需使用一个计算函数,每当检查到更改时就会调用该函数
var模型=函数(){
var self=这个;
self.isChecked=ko.可观察(假);
self.doStuffWhenChecked=ko.computed(函数(){
if(self.isChecked()){
$('#textinput').val(“任意”);
}否则{
$('#textinput').val(“”);
}
},这个);
}
var vm=新模型();
ko.应用绑定(vm)代码>
选中此项:
仅在选中时显示
var orderRequestFormViewModel = function () {
var self = this;
self.currentPage = ko.observable(1);
self.referringPage = ko.observable();
...............
self.sameAsShippingAddress = ko.observable().extend({ required: false });
..........
self.sameAsShippingAddress = function () {
if (this.checked) {
$("#EmailCompetitor_Billing").val($("#EmailCompetitor").val());
$("#FirstNameCompetitor_Billing").val($("#FirstNameCompetitor").val());
} else {
$("#EmailCompetitor_Billing").val("");
$("#FirstNameCompetitor_Billing").val("");
}
}