如何在jquery中比较文本框中所有输入的值?

时间:2013-09-22 16:54:53

标签: javascript jquery

$('.ac').blur(function(evt) {
    if ($('.ac').val() > $('.tc').val()) {
        alert('ERROR ac > tc');
        evt.preventDefault();
    } 
});

我想在上面的代码中比较ac和tc,我只是为了在ac框中输入的第一个字符完成它,但我需要它来比较在ac中输入的完整值并将其与tc进行比较。和我的HTML。并且它应该对所有的ac盒子做。

<form>
tc<input class="tc"/><br>
ac<input class="ac"/><br>
tc<input class="tc"/><br>
ac<input class="ac"/><br>
tc<input class="tc"/><br>
ac<input class="ac"/> <br>  
</form>

我编辑了以下内容并且没有发生

<SCRIPT LANGUAGE="JavaScript">
$('.ac').change(function(evt) {
    if ($(parseInt(('.ac').val())) > $(parseInt(('.tc').val()))) {
        alert('ERROR ac > tc');
        evt.preventDefault();
    } 
});
</script>

2 个答案:

答案 0 :(得分:2)

尝试使用此HTML!我使用名为.box的div将ac和tc成对使用。

<form>
<div class="box">
    tc<input class="tc" value="10"/><br>
    ac<input class="ac"/><br>
</div>
<div class="box">
    tc<input class="tc" value="20"/><br>
    ac<input class="ac"/><br>
</div>
    <div class="box">
    tc<input class="tc" value="30"/><br>
    ac<input class="ac"/><br>
</div>
</form>

然后在Jquery,我可以不知道哪个.ac我要求盒子父亲,然后冷静.tc

$('.ac').blur(function(evt) {
    evt.preventDefault();

    var ac = Number($(this).val());
    var tc = Number($(this).parents(".box").find(".tc").val());

    if (ac > tc) {
        alert('ERROR ac='+ac+' > tc='+tc);
    } else {
        alert('ERROR ac='+ac+' <= tc='+tc)
    }
});

Fiddle

Reedited cuz我丢失了旧版本

答案 1 :(得分:0)

<script>
$('.ac').blur(function(evt) {
var num1 = Number($('.ac').val());
var num2 = Number($('.tc').val());
 if (num1 > num2) {
        console.log('ERROR ac > tc');
        evt.preventDefault();
    }
});

</script>

确保您正在比较数字而不是数字组成的字符串。