Knockout.js 击倒JS-当不可见时,有没有聪明的方法清除值?

Knockout.js 击倒JS-当不可见时,有没有聪明的方法清除值?,knockout.js,Knockout.js,我知道我可以检查USDteUnk()的值,然后硬编码ViewModel.USDte(“”)以清除该值 但是,我想知道,当元素不可见时,是否有一种聪明的方法来清除值?即,当不确定[USDteUnk]选中时,是否清除[USDte] <div class="form-group"> <label for="USDte">4.1 Date of first scan?</label> <div id="USDteBox" data-bind="visib

我知道我可以检查
USDteUnk()
的值,然后硬编码ViewModel.USDte(“”)以清除该值

但是,我想知道,当元素不可见时,是否有一种聪明的方法来清除值?即,当
不确定[USDteUnk]
选中时,是否清除
[USDte]

<div class="form-group">
  <label for="USDte">4.1 Date of first scan?</label>
  <div id="USDteBox" data-bind="visible: USDteUnk() === '0' || USDteUnk() === ''">
    <input type="text" name="USDte" id="USDte" class="form-control" placeholder="dd/mm/yyyy" data-bind="value: USDte">
  </div>
  <div class="btn-group" data-toggle="buttons">
    <label class="btn btn-blue">
      <input type="checkbox" class="form-control" name="USDteUnk" id="USDteUnk" data-bind="bsChecked: USDteUnk"> Unsure
    </label>
  </div>
</div>
基于@Tomalak答案的结果

            ko.applyBindings(VM);
            VM.OtherDetail().USDteUnk.subscribe(function (newValue) {
                if (newValue === '-1') {
                    VM.OtherDetail().USDte('');
                }
            });
当元素不可见时,是否有一种聪明的方法来清除该值?即,当不确定[USDteUnk]被选中时,是否清除[USDte]

是的,通过电话

显示
USDte
值的元素是否可见与此完全无关

当元素不可见时,是否有一种聪明的方法来清除该值?即,当不确定[USDteUnk]被选中时,是否清除[USDte]

是的,通过电话

显示
USDte
值的元素是否可见与此完全无关

当元素不可见时,是否有一种聪明的方法来清除该值?即,当不确定[USDteUnk]被选中时,是否清除[USDte]

是的,通过电话

显示
USDte
值的元素是否可见与此完全无关

当元素不可见时,是否有一种聪明的方法来清除该值?即,当不确定[USDteUnk]被选中时,是否清除[USDte]

是的,通过电话


显示
USDte
值的元素是否可见与此完全无关。

您应该在问题中包括
bsChecked
绑定处理程序。您好@Tomalak,感谢您的帮助,我已经在我的问题中添加了bsCheck处理程序。你应该在你的问题中包含
bsChecked
绑定处理程序。你好@Tomalak,谢谢你的帮助,我已经在我的问题中添加了bsCheck处理程序。你应该在你的问题中包含
bsChecked
绑定处理程序。你好@Tomalak,谢谢你的帮助,我在问题中添加了bsCheck处理程序。您应该在问题中包含
bsChecked
绑定处理程序。您好@Tomalak,谢谢您的帮助,我在问题中添加了bsCheck处理程序
            ko.applyBindings(VM);
            VM.OtherDetail().USDteUnk.subscribe(function (newValue) {
                if (newValue === '-1') {
                    VM.OtherDetail().USDte('');
                }
            });
self.USDteUnk.subscribe(function (checked) {
    if (checked) self.USDte("");
});