私のセレクトボックスを検証したいのですが、jQuery UIを使用してセレクトボックスのスタイルを変更しているため動作しません。それは見動作しない理由があるようなし:: jQuery UI Validation Pluginと組み合わせて選択してください
しかし、どのように私はそれがjQueryのUIの選択ボックスプラグインで動作させることができます
jQueryのUIは、表示上の実際の選択ボックスを設定されていますか?
実用的なソリューションがありますか。 :)
私のセレクトボックスを検証したいのですが、jQuery UIを使用してセレクトボックスのスタイルを変更しているため動作しません。それは見動作しない理由があるようなし:: jQuery UI Validation Pluginと組み合わせて選択してください
しかし、どのように私はそれがjQueryのUIの選択ボックスプラグインで動作させることができます
jQueryのUIは、表示上の実際の選択ボックスを設定されていますか?
実用的なソリューションがありますか。 :)
これは、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
しない再検証入力を変え、気づいたよう。あなたはselectMenu
にchange
イベントを活用して、手動で要素を再検証することでこれを回避することができます
// SELECTBOXES
$(function() {
$('.dataTables_length input, select').not("select.multiple").selectmenu({
style: 'dropdown',
transferClasses: true,
width: null,
change: function() {
$(".valid").validate().element(this);
}
});
});
例:// sscce:http://jsfiddle.net/8YvSN/
あなたは男、thnxです!しかし、ユーザーがオプションを選択すると、エラーメッセージが表示されなくなります。その方法はありますか? – Maanstraat
@Maanstraat:ええ、更新された答えを確認してください –
あなたの時間のためにアンドリューありがとう。 – Maanstraat
あなたは[SSCCE](HTTPを提供することができますが.org /)?プラグインのattachメソッドは元のselectboxを隠し、display:noneを使用してそれをカスタムのものに置き換えます。代わりに[プラグイン](http://www.bulgaria-web-developers.com/projects/javascript/selectbox/)が提供するセレクタを使用しなければなりません。 – lzdt
こんにちはIzdt、私は本当にJSプログラマーではないので、あなたが何を言っているのか分かりません。あなたが私を助けることを願っていますか?私は今持っているコードでJSFiddleを作った:http://jsfiddle.net/jB5mE/ – Maanstraat