選択ボックスを検証したいのですが、jQuery UIを使用して選択ボックスのスタイルを設定しているため、機能していません。
Jquery UIは、ディスプレイ上の実際の選択ボックスに設定されています:なし。そのため、機能しません。以下を参照してください。
しかし、どうすればjQuery UI selectboxプラグインで動作させることができますか?
私は誰かが実用的な解決策を持っていることを願っています。:)
選択ボックスを検証したいのですが、jQuery UIを使用して選択ボックスのスタイルを設定しているため、機能していません。
Jquery UIは、ディスプレイ上の実際の選択ボックスに設定されています:なし。そのため、機能しません。以下を参照してください。
しかし、どうすればjQuery UI selectboxプラグインで動作させることができますか?
私は誰かが実用的な解決策を持っていることを願っています。:)
これは、 が をselectMenu
隠しているためselect
です。デフォルトでは、validate は隠し要素を検証しません。ignore
オプションを[]
次のように設定すると、これを変更できます。
$(".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);
}
});
お気づきのとおり、 を変更しselectMenu
ても入力は再検証されません。change
のイベントをタップしselectMenu
て要素を手動で再検証することで、これを回避できます。
// SELECTBOXES
$(function() {
$('.dataTables_length input, select').not("select.multiple").selectmenu({
style: 'dropdown',
transferClasses: true,
width: null,
change: function() {
$(".valid").validate().element(this);
}
});
});