Jquery 需要基于彼此的字段';s值

Jquery 需要基于彼此的字段';s值,jquery,jquery-validate,Jquery,Jquery Validate,我有上面的字段,我想要求他们至少输入一个大于0的值,但他们也可以有桌子和座位 我的HTML: <div class="form-row reserve"> <input type="text" name="tables" id="tables" value="0"/> <label for="tables">corporate tables (10 seats) @ $1,950 each and/or</label>

我有上面的字段,我想要求他们至少输入一个大于0的值,但他们也可以有桌子和座位

我的HTML:

   <div class="form-row reserve">
    <input type="text" name="tables" id="tables" value="0"/>
        <label for="tables">corporate tables (10 seats) @ $1,950 each and/or</label>
   </div>
   <div class="form-row reserve">
    <input type="text" name="individual" id="individual" value="0"/>
        <label for="individual">individual seats @ $225 each</label>
   </div>

任何帮助都将不胜感激

您不能在
规则中使用这样的函数<代码>必需:
通常只接受
true
false
。但是,您也可以使用来指定
true/false
规则中的函数

rules: {
    tables: {
        required: {
            depends:  function(element) {
                return $("#individual").val() === 0;
            }
        }
    }
}
但是,使用上述方法,您的表单将始终通过验证,因为这两个字段从不为空(它们包含“0”)。因此,始终满足
所需的
规则。见:

您无法通过从两个字段中删除默认值
0
来解决此问题,因为
dependens
函数永远不会满足,并且字段仍然是可选的。见:

或者,您也不能通过将
依赖项
应用于
min:1
规则来解决此问题,因为它只允许与
规则一起使用


最好的解决方案是对这两个字段进行调整。使用“小于或等于”运算符(

rules: {
    tables: {
        required: {
            depends:  function(element) {
                return $("#individual").val() === 0;
            }
        }
    }
}
$.validator.addMethod("myMethod", function (value, element) {
    if (($("#individual").val() <= 0) && ($("#tables").val() <= 0)) {
        return false;
    } else {
        return true;
    }
}, "Please enter at least one field");