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

标签 javascript jquery

我这里有的是比较文本框值的验证。我有数量文本框和隐藏文本框,如果数量文本框低于隐藏文本框,错误消息将显示在跨度中。但问题是即使在其他具有正确值的跨度中也总是出现错误消息。

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

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>

最佳答案

您可以迭代可编辑字段,然后遍历 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;
    }    
});

关于javascript - 每个文本框的验证错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22651017/

相关文章:

javascript - 单击复选框显示日期选择器

Javascript for 循环行为每次迭代输出相同的结果

javascript - 在 div 替换 jquery 中插入值

jQuery - 单击链接时显示编辑文本区域表单并隐藏段落

javascript - 如何检查ajax返回值

javascript - getBlock ('meta' ) 在 DocPad 中如何工作?

javascript - 如何在javascript中的函数之外保存变量值

javascript - 如何在 iMacros 下仅用条件替换字符串的特定部分

javascript - Jquery:小绑定(bind)悬停/解除绑定(bind)代码片段,几行长,不知道出了什么问题

javascript - 如何使用 jquery 获取每英寸像素数