每个文本框的验证错误消息

时间:2014-03-26 03:37:54

标签: javascript jquery

我在这里有用于比较文本框值的验证。我有数量文本框和隐藏文本框,如果数量文本框低于隐藏文本框,则错误消息将显示在span中。但问题是甚至在其他范围内始终出现正确的值错误消息。

如下图所示,如果数量小于隐藏文本框错误消息显示,但在另一个具有正确值的文本框上仍会显示错误消息。帮助

enter image description here

$('.n_quantity,.pr_total').each(function () {
    var textBox1 = $(".n_quantity");
    var textBox2 = $(".pr_total");
    for (var i = 0, len = textBox1.length; i < len; i++) {
        if (parseInt(textBox2[i].value) > parseInt(textBox1[i].value)) {
            $(this).next("span.val_over").html("Over").addClass('validate');
            validation_holder = 1;
            return false;
        }
    }
});

<p>
    <label for="">PR Quantity</label>
    <input name="n_quantity[]" id="n_quantity" class="qty tb1 n_quantity" type="text" value="<?php echo $row['total_quantity'] ?>" />
    <span class="val_qty val_over"></span>
</p>
<p style="display:none;">
    <input id="pr_total" class="tb2 pr_total" type="text" value="<?php echo $row['total_quantity'];?>" readonly="readonly">
</p>

1 个答案:

答案 0 :(得分:0)

您可以迭代可编辑字段,然后将dom遍历到相关元素:

$('.n_quantity').each(function () {
    var $this = $(this);
    var $total = $this.closest('p').next().find('.pr_total');

    if (parseInt($this.val(), 10) > parseInt($total.val(), 10)) {
        $this.siblings('.val_over').html('Over').addClass('validate');
        validation_holder = 1;
    }    
});
相关问题