0

我有以下表单,我想使用 Jquery Validate Plugin 进行验证:

<div class="group">
   <input type="checkbox" name="prod[]" value="1">
   <input type="text" name="quantity[]" value="1">
</div>
<div class="group">
   <input type="checkbox" name="prod[]" value="2">
   <input type="text" name="quantity[]" value="1">
</div>
<div class="group">
   <input type="checkbox" name="prod[]" value="3">
   <input type="text" name="quantity[]" value="1">
</div>

..ETC

我的问题是,在检查相对复选框时,必须需要OLNY数量字段。 对于验证,我编写了以下代码(但它不起作用)

rules: {
   "prod[]": { //ok it works!
      required: true,
      minlength: 1
   },
   "quant[]": { //not works
      required: {
         depends: function(element) {
            var v = $(this).parent().find('input[type=checkbox]').is(':checked');
            return v;
         }
   }
},...

我怎样才能做到这一点?谢谢..

4

1 回答 1

0

你走在正确的轨道上,但你只是犯了一个小错误。依赖调用的上下文不是有问题的元素,它是别的东西。因此,您不能this在您的依赖函数中引用,而是引用element

$(element).parent().find('input[type=checkbox]').is(':checked');

就是这样,之后会工作。你也不需要让它成为我不认为的依赖函数,所需的选项也可以是一个函数:

required: function(element){
   return $(element).parent().find('input[type=checkbox]').is(':checked');
}
于 2013-08-06T17:00:32.853 回答