我有一个带有两个选择框的表单。第一个使用msdropdown进行样式设置。我正在使用jquery验证(必需)验证表单。当我提交表单时,将验证两个选择框并显示错误消息。太好了。
但我的问题是,当我刚刚更改了选择框选项时,验证消息正在清除正常选择框。但它没有清除msdropdown选择框。我需要再次单击“提交”按钮以清除消息。当我更改选择框选项时,我该怎么做才能验证?
这是我的验证规则块。
$(document).ready(function(e) {
$("body #webmenu").msDropDown();
$("#frmTest").validate({
rules: {
normal: {
required: true
},
webmenu: {
required: true
}
}
});
});
我创造了一个场景小提琴。请看一下。
答案 0 :(得分:2)
使用the plugin's .valid()
method在mouseup
事件上触发对元素的验证测试。我使用浏览器的DOM检查器来查找目标... <li>
与类_msddli_
。
$('._msddli_').on('mouseup', function() { // target the custom line item on mouseup
$('#webmenu').valid(); // validation test triggered on target element
});
工作演示:http://jsfiddle.net/LHF3G/1/
修改强>:
另一个与上述相同的版本:
$('#webmenu').on('change', function() { // target the original select on change
$(this).valid(); // validation test triggered on target element
});
DEMO:http://jsfiddle.net/LHF3G/3/
您可以调整jQuery选择器和JavaScript事件以适应任何可能的情况。但是,最重要的方面是.valid()
方法是触发验证测试的机制,而后者又会根据需要切换错误消息。
答案 1 :(得分:1)
感谢您的支持。我最后通过添加以下代码解决了这个问题。
$('#webmenu').on('change', function(){
$('#frmTest').valid();
})