jQuery的。脚本在输入字段中更改值。比基于输入字段中的值需要执行if语句

时间:2013-09-03 04:12:23

标签: javascript jquery

以下是示例jsFiddle

如果在First输入中输入内容,则Second和Third输入中的值变为1(一)。

然后,如果第三个输入中的值为> 0,则执行某些操作,例如alert("Test");

但是这个if语句不起作用。对于我的眼睛,第三个输入的值是1(一),但对于脚本似乎第三个输入中的值是空的

如何根据第三个输入中的值获取执行if语句?

First input
<br>
<td class='exchange_rate1'>
<input type="text" name="exchange_rate1" id='exchange_rate1' class='exchange_rate_changed1' value="">
</td>
<br>Second input
<br>
<td>
<input type="text" name="is_exchange_rate_changed1" id="is_exchange_rate_changed1" class='exchange_rate_changed_test1'>
</td>
<br>Third input
<br>
<td>
<input type="text" name="is_exchange_rate_changed_test1" id="is_exchange_rate_changed_test1">
</td>


$(".exchange_rate_changed1").on("change", function () {
$('#is_exchange_rate_changed1').val(1).change()
});


$(".exchange_rate_changed_test1").on("change", function () {
$('#is_exchange_rate_changed_test1').val(1).change()
});

if ($("#is_exchange_rate_changed_test1").val() > 0) {
alert("Test");    
}

如果怀疑为什么这是必要的。然后,例如:

1)在第一个输入字段中,用户输入货币名称(USD)

2)使用ajax,基于货币名称获取第二个输入中的货币值

3)如果第二个输入中的货币值发生变化,则更改第三个输入

4)后者如果用户在第四个字段中输入货币金额而第三个输入值为> 0,则进行计算

可能的解决方案 这里http://jsfiddle.net/eDCqN/11/提出了可能的解决方案。因为我需要if独立存在/工作,然后创建在$("input").change上执行的附加功能。因此,每次执行input更改if时都要了解。可能代替input可能会使用某个类(仅将类添加到必要的输入字段)。

这样的解决方案可以吗?

似乎这更好(更短)http://jsfiddle.net/NJfL3/2/

1 个答案:

答案 0 :(得分:3)

您要单独添加if条件,您需要将其添加到change事件中,例如:

$(".exchange_rate_changed_test1").on("change", function () {
    $('#is_exchange_rate_changed_test1').val(1).change();
    if ($("#is_exchange_rate_changed_test1").val() > 0) {
        alert("Test");    
    }
});