gpt4 book ai didi

javascript - 当文本字段的值 = 3 或 9 时调用函数

转载 作者:行者123 更新时间:2023-11-30 08:46:57 26 4
gpt4 key购买 nike

我想在文本字段的值更改为 3 或 9 时调用一个函数。

不同的函数正在更改此文本字段的值,但我想在字段的值更改为 3 或 9 时调用另一个函数。

这是 fiddle 演示:http://jsfiddle.net/k3Q9k/20/

现在不应该从正在更改字段值的函数内部调用该函数。做出决定的功能应该是独立的。像这样的事情:

JS:

$('.increment').click(function () {
var currentValue = $('#category').val();
var incrementedValue = parseInt(currentValue) + parseInt(1);
$('#category').val(incrementedValue);
// Check function should not be called from here
});

$('.decrement').click(function () {
var currentValue = $('#category').val();
var incrementedValue = parseInt(currentValue) - parseInt(1);
$('#category').val(incrementedValue);
// Check function should not be called from here
});

$('#category').change(function () {
// Check function should be called from here because this is an independent function
var currentValue = $('#category').val();
if (currentValue == 3 || currentValue == 9) {
alert("Got it");
}
});

HTML:

<input type="text" name="category" id="category" value="1" >
<a href="javascript:void(0);" class="increment" >Increment</a>
<a href="javascript:void(0);" class="decrement" >Decrement</a>

注意:我无法访问那些正在更改我的字段值的函数。所以我必须写一个盲目的代码,它会完全自己做决定

最佳答案

您已将逻辑绑定(bind)到更改事件处理程序,但是当输入字段的值以编程方式更改时,更改事件不会被触发。这就是问题所在。

一种可能的解决方案是在值以编程方式更改后手动触发更改事件,如下所示

$('#category').val(incrementedValue).change();

演示:Fiddle

关于javascript - 当文本字段的值 = 3 或 9 时调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21178544/

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