0

ドロップダウン選択を介して動的にaddClassを実行するときに、validationEngineを機能させようとしています。一部のフィールドの検証クラスを削除し、ドロップダウン選択に基づいて他のフィールドに追加したいと思います。

私は次のことができます:

if (jQuery("#ValidTemplateSelection :selected").val() == 'FC') {
      jQuery("#ValidSelection-fc").addClass("validate[required] text-input");
      jQuery("#ValidSelection-qmi").removeClass("validate[required] text-input");
      jQuery("#templateform").validationEngine();
} 
if (jQuery("#ValidTemplateSelection :selected").val() == 'QMI') {
      jQuery("#ValidSelection-qmi").addClass("validate[required] text-input");
      jQuery("#ValidSelection-fc").removeClass("validate[required] text-input");
      jQuery("#templateform").validationEngine('detach');
      jQuery("#templateform").validationEngine();
}
return false; 

AddClassとremoveClassはどちらも正常に機能します。

検証は最初の選択で成功します。ただし、別のオプションを選択すると、addClassはクラスを追加しますが、検証は行われません。これを機能させる方法について何かアイデアはありますか?

4

1 に答える 1

0

検証エンジンをデタッチしてから再インスタンス化する必要がありますか? クラスを動的に追加および削除する場合と同様のことを行っていましたが、ドキュメントの準備ができたときにのみ、validationengine をインスタンス化します。ただし、これはコンボボックスではなく、2 つの電子メール フィールドを使用していました。validationengine フォーラムを参照してください。

検証エンジンをデタッチして再インスタンス化せずに試してみてください。ドキュメントの準備ができたら、検証エンジンをインスタンス化するだけです。

〜キュリクス

于 2011-08-04T10:52:54.477 に答える