javascript
  • jquery
  • 2012-04-30 330 views 0 likes 
    0

    您好IM来验证我的形式。 我想添加一个更多的规则来验证,但不能让它工作。 输入值应小于或等于前一个元素的值。添加验证方法“jQuery的验证插件”使用jQuery验证插件

    这是可能做到的呢?

    这里是代码 -

    <input type='text' value='<?php echo $count; ?>' class='input_in_stock' readonly="readonly" /> 
    <input type='text' name='amount[]' id='<?php echo rand(0,99).$id; ?>' size='1' value='<?php echo $count; ?>' class='required input_count' /> 
    
    $(document).ready(function(){ 
    
        $.validator.addMethod('positiveint', function (value) { 
         return (value > 0) && (value != 0) && (value == parseInt(value, 10)); 
        }, 'Enter a positive integer value.'); 
    
        $.validator.addMethod('notmorethan', function (value) { 
         return (value <= $(this).prev().val()); 
        }, 'abc.'); 
    
    
    
    
        $("#cartform").validate({ 
         rules: { 
          "amount[]": { 
           required: true, 
           positiveint: true, 
           notmorethan: true 
          } 
         }, 
         errorPlacement: function(error, element) { 
          error.appendTo(element.next()); 
         } 
        }); 
    
    }); 
    

    附:我用这个jQuery验证插件修复,使其与名这样的工作[] http://www.codeboss.in/web-funda/2009/05/27/jquery-validation-for-array-of-input-elements

    编辑:找到了解决办法

    $.validator.addMethod('notmorethan', function (value, element) { 
        return (value <= $(element).prev().val()); 
    }, 'abc'); 
    
    +0

    请发表您的解决方案作为一个答案,并接受它。 – Sparky

    回答

    1

    看看这个小提琴helps- http://jsfiddle.net/alokswain/LSuMA/11/。我不确定您使用的名称如amount[]的自定义设置,但我认为这种方法应该非常有用。

    自定义的验证方法只是功能,如果使用this函数体内的话,那就指函数的所有者。现在,假设你想从输入字段以前的有效价值,你可以随时在整个表单有效的DOM一些地方保存它,说以前存储的值被称为previousAmountVal。当字段中的值发生变化,在功能notmorethan您可以访问使用value参数和以前存储的值,并使用previousAmountVal于前值的电流值,从而决定电流值是否有效。另外,如果您这样做,请记住在表单有效时始终更新previousAmountVal

    +0

    已经找到了我自己的解决方案,但无论如何thx帮助! – user1093555

    0

    找到了解决办法

    $.validator.addMethod('notmorethan', function (value, element) { 
        return (value <= $(element).prev().val()); 
    }, 'abc'); 
    
    相关问题