javascript - jquery验证: adding a required rule with custom message based on wether a different form field has a value

标签 javascript jquery validation jquery-validate

我知道这似乎是一个重复的问题,但我已经阅读了所有其他问题,但它们并不完全相同:(

我有一些下拉菜单,如果它们有其他选项,则选择值为“0”的选项,那么我希望需要相应的到期日期字段。

我尝试将规则放入对象的类中,并使用规则('add')函数。这就是我现在所处的位置:

$('[id^=ExpiryDate]').each(function() {

    $(this).rules('add',
    { required: function() {
        if ($('#q' + id).val() == '0') {
            return false;
        }
        else {
            return true;
        }
    } 
    }
);

我的到期日期字段的 ID 为“ExpiryDate1”、“ExpiryDate2”,相应的下拉菜单的 ID 为“q1”和“q2”。

这使我的脚本失败。它不会在错误控制台或 Firebug 中给出任何错误。但它也不执行其后发生的任何 javascript。

我有一种感觉,我错过了一些非常明显和愚蠢的东西。但我已经盯着这个代码几个小时了,但找不到它!

提前致谢!

最佳答案

试试这个:

$('[id^=ExpiryDate]').each(function() {
  var id = $(this).attr('id').replace('ExpiryDate','');
  $(this).rules('add', { 
    required: function() {
      return $('#q' + id).val() !== '0';
    } 
  }
);

目前,您的 id 未定义,因此它只是找不到任何元素。其余的只是一个较短的版本。

关于javascript - jquery验证: adding a required rule with custom message based on wether a different form field has a value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2364271/

相关文章:

javascript - 修改Kendo UI Dropdownlist的change事件

javascript - 如何使用 jQuery 知道何时取消选择 <input> 元素

javascript - NodeJS - 解析 JSON(仅字符串或数字)

iphone - 如何从 iPhone UItextField 中删除特殊字符“&”

javascript - 在移动设备上停止特定 JavaScript 函数的最佳方法

java - 在服务器上渲染和导出 FusionCharts

javascript - 对象类型在确定类型文件中的应用

jquery - 单击提交时验证不起作用 : jquery

javascript - jQuery 似乎无法在函数内工作

c# - 基于 XSD 架构的 Wpf XmlDataProvider 验证