【问题标题】:validate chosen select menu on change在更改时验证选择的选择菜单
【发布时间】:2015-04-07 18:32:10
【问题描述】:

我选择了页面上的下拉菜单。我使用 jquery 验证插件来验证该字段。但是当更改选择的下拉验证不会被触发时。还有什么方法可以在选择的下拉列表中添加错误类。 fiddle

$('.chosen').chosen()
$.validator.setDefaults({
    submitHandler: function() {
      return false
    },ignore: ":hidden:not(select)"
  });


$("#myform").validate({
        onfocusout: function (element) {
        $(element).valid();
      },     
      rules: {
        country:"required"      
      },
      messages: {        
        country:"please choose country"       
      }
    });

【问题讨论】:

  • 你看this了吗?
  • 是的,我做到了。但是我想在用户更改下拉值时触发验证

标签: jquery validation jquery-chosen


【解决方案1】:

这是因为您在 onfocusout 方法中设置元素验证

onfocusout: function (element) {
    $(element).valid();
  },  

但此事件永远不会触发,因为您用于选择的插件隐藏了选择并将其替换为 div 元素(用于 UI 目的)。因此,当您从选择中选择一个值时,您关注的是 div 选择而不是输入(输入永远不会获得焦点,因为所选值是通过 javascript 更新的)。

您需要创建一个新的事件侦听器,以在输入更改时触发验证(请参阅fiddle),另一种方法是在更改事件中强制选择焦点。

【讨论】:

  • 你真是个天才。
猜你喜欢
  • 2011-11-05
  • 2020-07-15
  • 2016-03-01
  • 1970-01-01
  • 2015-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多