必須であると検証されたラジオグループがあります。場合によっては、最初のラジオ ボタンを無効にして、ユーザーが残りの 1 つを選択できるようにする必要がある場合を除いて、正常に動作します。この場合でも、無線は検証されますが、エラー メッセージは表示されません。エラーメッセージが最初のラジオに関連付けられているためだと思います。最初以外の他のラジオを無効にしても問題なく動作します。回避策はありますか?
1030 次
2 に答える
0
jQuery Validate 1.6 プラグインを使用していますが、1.7 の変更ログを確認したところ、修正されたようには見えません。
これが発生する理由は、検証プラグインにバグがあり、最初のラジオ ボタンが無効になっている場合、そのグループの残りのラジオ ボタンが無効と見なされないためです。
プラグイン コードをステップ実行すると、defaultShowErrors 関数に表示されます。最初にラジオ グループが強調表示され、次に強調表示が解除されます。
ハイライトを解除する前にこれを追加することにより、独自のハイライト解除メソッドでこれを修正できます。
注: これは応急処置です。
if (this.invalid[$e.attr('name')] !== undefined) { return; }
これは、ラジオ グループ名が無効なリストに含まれているかどうかを確認します。そうであれば、ハイライト解除を停止します。
于 2011-02-01T16:17:02.613 に答える