gpt4 book ai didi

javascript - KnockoutJS observable 不观察 jQuery 的 empty() 事件

转载 作者:行者123 更新时间:2023-12-02 19:34:06 25 4
gpt4 key购买 nike

我有几个文本框:本地和外国电话号码以及一个用于切换它们的复选框,如下所示:

  TogglePhoneFields = function(isForeign) {
if (isForeign) {
$('#Phone_LocalNumber').attr('disabled', 'disabled');
$('#Phone_LocalNumber').val('');
$('#Phone_ForeignPhoneNumber').removeAttr('disabled');
return $('#Phone_ForeignPhoneNumber').focus();
} else {
$('#Phone_LocalNumber').removeAttr('disabled');
$('#Phone_ForeignPhoneNumber').attr('disabled', 'disabled');
return $('#Phone_ForeignPhoneNumber').val('');
}
};

标记:

<input data-bind="value: localnumber" 
id="Phone_LocalNumber" type="text" value='' />

<input data-bind="checked: isForeignPhoneNumber"
id="Phone_IsForeignPhoneNumber" type="checkbox" value="true" />

<input data-bind="value: foreignphonenumber"
id="Phone_ForeignPhoneNumber" type="text" value="" />

我对这些电话号码进行了验证,很明显,在您在本地电话号码中输入一个值后,勾选“IsForeign”复选框(它调用 TogglePhoneFields(true) )并取消勾选它,可观察值 未清除

我正在努力解释这一点,如果根本不清楚的话我可以写一个 jsFiddler 。问题基本上是当可观察项目的值由javascript代码操作时如何更新?

最佳答案

Knockout 值绑定(bind)订阅它们所绑定(bind)的输入上的更改事件。如果您使用 val 更新 jquery 中的输入,则需要触发更改事件,否则将不会触发值绑定(bind)。

举个例子

$('#Phone_LocalNumber').val('').change();

希望这有帮助。

关于javascript - KnockoutJS observable 不观察 jQuery 的 empty() 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11141941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com