微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 使用Jquery Validate插件在文本字段上动态设置最小值

我试图在一个字段上有一个动态更新的最小值,具体取决于来自其他字段的输入.简而言之,我的代码是:

$("#new_project").live("click", function() {

    switch($('input:radio[name=quality-level]:checked').val()){
        case 'average' : ppw = .006;
        case 'below-average' : ppw =.004;
        case 'good' : ppw = .008;
        case 'very-good' : ppw = .016;
    }

    if ($('#minimum-word-length').val() && $('input:radio[name=quality-level]:checked').val())
    {
        min_price = $('#minimum-word-length').val() * ppw;

    }

    $("#new_project, .edit_project").validate({
    rules: {
    ...
    "price-per-article": {required: true, number: true,  min:min_price},
    ...
    },
    errorPlacement: function(error, element) { }


    });

});

最低价格设置正确,并正确更新.也就是说,无论出于何种原因,最小值规则都不会更新我认为是因为验证代码仅加载在文档加载上.所以我猜有没有办法重新加载规则,以便在填充两个必要字段时最小值发生变化?

谢谢!

解决方法:

问题是您在初始加载时使用每篇文章的价格设置验证对象.我不熟悉验证插件,但一般情况下,如果您的属性实时更改了对象,您将需要为该属性使用回调函数,而不是在加载时设置它的数据.

因此,对于每篇文章的价格,它可能看起来像:

"price-per-article": {
  required: true,
  number: true,
  min: function () { return $('#minimum-word-length').val() * ppw; }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐