2012-01-25 8 views
0

した後、次のtd.fooを見つけます。jQueryの検証 - errorPlacement - 私が違反している要素の後の次のTD.multiErrorにエラーメッセージを追加するjQueryのValidatorのerrorPlacementを使用しようとしています要素

は必要な無線入力を持つ細胞があり、私はそれがクラスmultiErrorと一つに当たるまで、テーブルセルを通じて要素から進むと、そこにメッセージを追加するメッセージをしたいと思います。

これを行う正しい方法は何ですか?

<script> 
$(document).ready(function(){ 
    $("#surveyForm").validate({ 
     errorPlacement: function(error, element) { 
      if (element.is(":radio")) 
       error.appendTo(element.nextAll('td.multiError:first')); 
      else if (element.is(":checkbox")) 
       error.appendTo (element.next()); 
      else 
       error.appendTo(element.parent()); 
     } 
    }); 
}); 
</script> 

HTML:

<tr> 
<td class='colspan' colspan='2'><p>Which of the following most accurately describes your laboratory facility?&nbsp;</p></td> 
</tr> 
<tr> 
<td class='two_columns'><label><input type='radio' name='rad_22' id='ans_18' class='required' value='18' /> Private/Reference Lab</label> 
</td> 
<td class='two_columns'><label><input type='radio' name='rad_22' id='ans_19' class='required' value='19' /> Physician's Office</label> 
</td> 
</tr> 
<td class='two_columns'><input type='text' name='ans_23' id='ans_23' value='' class='required' /> 
</td> 
</tr><tr><td colspan='2' class='multiError'></td></tr> 
</tr> 

答えて

0

最後にTDがラジオボタンのグループ名例えば "rad_22" と "_multiError" を連結するIDを持つように私は、スクリプトを変更します。

appendToコールは、これはうまく動作しますが、私はまだ最初の.fooというの開始要素と一致するから、すべてのDOM要素を歩くする方法についての答えを持っているのが大好きだ

error.appendTo (eval(element.attr('name') + '_multiError')); 

になりました。

関連する問題