Dies ist nur aufgrund der Tatsache, dass selectMenu
verbirgt die select
. Standardmäßig validiert validieren nicht verdeckte Elemente. Sie können dies, indem die zu []
ignore
Option Einstellung ändern:
$(".valid").validate({
meta: "validate",
ignore: [],
groups: {
checks: checkbox_names
},
errorPlacement: function(error, element) {
if (element.attr("type") == "checkbox")
error.insertAfter(element.parent().siblings().last());
else if (element.is("select")) {
error.insertAfter(element.next("a.ui-selectmenu"))
}
else error.insertAfter(element);
}
});
Wie Sie bemerkt haben, ändert sich die selectMenu
nicht die Eingabe erneut zu validieren. Sie können manuell durch Antippen in die change
Ereignis auf dem selectMenu
und Wieder Validierung des Elements um dieses zu erhalten:
// SELECTBOXES
$(function() {
$('.dataTables_length input, select').not("select.multiple").selectmenu({
style: 'dropdown',
transferClasses: true,
width: null,
change: function() {
$(".valid").validate().element(this);
}
});
});
Beispiel:http://jsfiddle.net/8YvSN/
Können Sie eine [SSCCE] (http: // sscce .org /)? Die attach-Methode des Plugins blendet die ursprüngliche Auswahlbox aus und ersetzt sie (mit display: none) durch eine benutzerdefinierte. Sie müssen stattdessen mit Selektoren arbeiten, die vom [plugin] (http://www.bulgaria-web-developers.com/projects/javascript/selectbox/) bereitgestellt werden. – lzdt
Hallo Izdt, ich bin nicht wirklich ein JS-Programmierer, also verstehe ich nicht wirklich, was Sie sagen. Ich hoffe ihr könnt mir helfen? Ich habe ein JSFiddle mit dem Code gemacht, den ich jetzt habe: http://jsfiddle.net/jB5mE/ – Maanstraat