如何使jQuery Validate触发选择菜单的“成功”方法“ onchange”而不是“ onblur”?

| 我正在使用jQuery validate插件。一旦页面上没有错误,我将使用
show()
方法显示提交按钮。 我有一个只有一个选择/下拉菜单的表单。我遇到的问题是,当我在select中选择一个选项时,直到我单击页面上的其他位置时,它才显示提交按钮,而当我选择一个有效选项时,它应该立即显示它。 有谁知道如何射击fire1fire2ѭ或
onkeyup
而不是
onblur
? 这是我正在做的基本示例:
$form.validate( {
    rules: {
        favoriteSport: {
            required: true
        }
    },
    messages: {
        favoriteSport: \"This is required\"
    },
    success: function() {
        console.log(\"yay, it was valid!\");

        $(\"#submit\").show();
    }
});
    
已邀请:
最后,我向bind()添加了一个单独的调用,因此,每当发生更改事件时,它都会运行$ validate()再选择菜单的ID。 很难相信它不是内置在插件中的,因为它是jQuery中最流行的表单验证插件。 这是一个例子:
$(\"#favoriteSport\").bind(\"change keyup\", function() {
    $form.validate().element(\"#favoriteSport\");
});
    
试试这个
.change()
而不是
.blur()
....
$(\"#idofSelect\").change(function(){

  $(\"#submitButtonID\").show()

})
    
提出此问题已有很长时间了,我仍然不相信插件开发人员已经提供了针对此问题的本地修复程序。 @Cofey,您的工作方向正确,我认为对答案逻辑的稍微改善将有助于使所有选择的解决方案动态化:
$(\'select\').bind(\'change keyup\', function() {
    $(\'form\').validate().element(this);
});
    

要回复问题请先登录注册