jQuery 验证仅验证第一个隐藏的输入元素?

标签 jquery asp.net asp.net-mvc validation

我的表单上有两个隐藏的输入字段,我已将它们链接到 jquery 验证规则。这些是“全局”表单规则(例如,多个字段的总和不等于 100%),因此我在表单顶部使用隐藏字段来显示适用于整个表单的消息。

它们的定义如下:

<input type="hidden" class="futuretotalsunder"/>
<input type="hidden" class="futuretotalsrequired"/>

这是我的规则定义。你可以明白它的想法。第一个规则检查一堆文本框的总数是否小于 100,第二个规则检查以确保总数不为 0。问题是,唯一触发的是适用于第一个隐藏的那个输入元素。第二个永远不会开火。知道为什么吗?

$.validator.addMethod("futuretotalsunder", function (val, element, params) {
        alert("under");
        var total = 0;

        $(".TransferPercentTextBox").each(function () {
            total = total + parseInt($(this).val());
        });

        if ((total < 100) && (total != 0)) {
            window.location.href = "#Top";
            return false;
        }
        else {
            return true;
        }
    }, "Total percentage must equal 100%.");

     $.validator.addMethod("futuretotalsrequired", function (val, element, params) {

        var total = 0;

        $(".TransferPercentTextBox").each(function () {
            total = total + parseInt($(this).val());
        });

        if (total == 0) {
            window.location.href = "#Top";
            return false;
        }
        else {
            return true;
        }
    }, "Transfer amount must be greater than 0.");

最佳答案

我明白了。问题(奇怪)是我的输入元素没有名称属性。一旦我添加它们,它就工作得很好。

关于jQuery 验证仅验证第一个隐藏的输入元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10401416/

相关文章:

javascript - 根据下拉列表值删除字段 RSS 0 条回复 通过电子邮件订阅

asp.net-mvc - 如何在不模拟的情况下对使用 UpdateModel 的操作进行单元测试?

javascript - 选择一组三个 li 并将它们显示在下一个或上一个按钮上

javascript - 跨平台SVG旋转动画:

jquery - 如何在鼠标悬停时绘制像圆圈一样的镜头

javascript - 数组弹出爆炸

c# - 从数据库填充菜单

c# - 作为 json 返回时排除某些字段

asp.net-mvc - 为什么部署到 Azure 网站时,AllowAnonymous 不起作用?

c# - 如何从 Excel 单元格显示值读取而不用 ClosedXML 计算公式