Jquery 使用动态值验证 Max 方法?

Jquery Validate Max Method With a Dynamic Value?

我尝试了 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>

如何工作?

Return字段值使用函数。

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

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

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

设置最大值为max: function(){ return $("#field1").val();}

jQuery.validator.setDefaults({
  debug: true,
  success: "valid"
});
$( "#myform" ).validate({
  rules: {
    field: {
      required: true,
    max: function(){ return $("#field1").val();}
    }
  }
});
<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>