我正在使用选择与jquery valodation
你可以看到这个例子:http://jsfiddle.net/hfdBF/9/
如果单击“提交”,则会看到验证适用于组合和输入。
如果您在输入框中输入一个字母,您将收到一条警告,表明该字母未突出显示,正如它所假设的那样。
但是,如果您在选择框中选择一个值,它将不会被警告为未突出显示。
你知道如何让它发挥作用吗?
$(function() {
var $form = $("#form1");
$(".chzn-select").chosen({no_results_text: "No results matched"});
$form.validate({
errorLabelContainer: $("#form1 div.error"),
wrapper: 'div',
});
var settings = $.data($form[0], 'validator').settings;
settings.ignore += ':not(.chzn-done)';
settings.unhighlight= function(el){
alert(el.name + " hit unhighlight")
}
});
谢谢
答案 0 :(得分:4)
您无需手动进行验证。您可以将函数绑定到change
事件处理程序,该处理程序将检查特定选择是否有效。如果选择有效,这也将清除错误。
$('.chzn-select').change(function () {
$(this).valid();
});
答案 1 :(得分:1)
您需要手动重置jQuery验证:
$(".chzn-select").chosen().change(function () {
var value = $('#UserCompanyIds').val(); // the select element
if (value != "") {
$('.field-validation-error').each(function () {
if ($(this).attr('data-valmsg-for') == 'UserCompanyIds') {
$(this).html("");
$(this).removeClass("field-validation-error").addClass("field-validation-valid");
}
});
}
});
我希望这有帮助!