我尝试使用静态值示例http://jqueryvalidation.org/max-method/ ..脚本。如何使用最大值但动态?
我尝试使用此脚本,但没有用

jQuery.validator.setDefaults({
  debug: true,
  success: "valid"
});
$( "#myform" ).validate({
  rules: {
    field: {
      required: true,
      max: "#field1" //from field1 dynamic value???
    //max: 23 //static value
    }
  }
});
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://jqueryvalidation.org/files/dist/jquery.validate.min.js"></script>
<script src="http://jqueryvalidation.org/files/dist/additional-methods.min.js"></script>
<form id="myform">
    <lable>value1 : </lable>
    <input type="text" class="left" id="field1" name="field1"><br>
    <lable>no greater than value1 : </lable>
    <input type="text" class="left" id="field" name="field">
      <br/>
<input type="submit" value="Validate!">
</form>


如何工作?

最佳答案

使用函数返回该字段的值。

$( "#myform" ).validate({
    rules: {
        field: {
            required: true,
            max: function() {
                return parseInt($('#field1').val());
            }
        }
    }
});

请记住将值括在parseInt中,否则该数字可以作为字符串求值。

工作演示:http://jsfiddle.net/dq7wf3qj/

08-17 02:48