我已经阅读了有关Chosen和JQuery Validate的所有帖子。我的问题没有回答。我有一个带有选择选择字段的表单,该字段具有必需属性。验证的工作原理是它会阻止提交并按预期显示错误。问题是,选择字段不会像验证器的非选择字段那样突出显示。查看生成的HTML,我可以看到真正的select元素已经获得了“input-validation-error”类,并且没有选择创建的元素。 Chosen与验证不兼容吗?
我正在使用JQuery 1.5.1,Chosen 0.9.12和JQuery验证1.7。
如果重要,则通过MVC .NET 2生成HTML。
我可以通过以下方式手动估算预期行为:
if (!$('#MySelect').valid()) {
$('#MySelect_chzn').addClass('input-validation-error');
$('#MySelect_chzn ul li input').addClass('input-validation-error');
$('#MySelect_chzn ul').removeClass('chzn-choices');
$('#MySelect_chzn ul').addClass('chzn-choices-nobackground');
} else {
$('#MySelect_chzn').removeClass('input-validation-error');
$('#MySelect_chzn ul li input').removeClass('input-validation-error');
$('#MySelect_chzn ul').addClass(' chzn-choices');
$('#MySelect_chzn ul').removeClass('chzn-choices-nobackground');
}
但我希望有一个优雅的解决方案。类'chzn-choices-nobackground'是我制作的自定义类,与'chzn-choices'相同但没有背景图像或颜色。