1

私のフォームはテーブルで、入力フィールドは行といくつかの列にあります。jquery validate プラグインを使用して、エラーが発生したフィールドのすぐ下にあるセル (同じ列、次の行) にエラー メッセージを配置しようとしています。

HTML は次のようになります。

<form id="add_this">
<table>
<tr>
  <td><input id="one">bla</input></td>
  <td><input id="two">bla</input></td>
  <td><input id="three">bla</input></td>
</tr>
<tr>
  <td id="err_one"></td>
  <td id="err_two"></td>
  <td id="err_three"></td>
</tr>
<tr>
  <td><button id="frm_submit">Go</button></td>
</table>
</form>

したがって、たとえば、エラーが ID 'one' の入力で発生した場合、対応するエラー メッセージが ID 'err_one' のセルに表示されます。動作しない私の検証コードは次のようになります。

$('#frm_submit').click(function(){
  $('#add_this').validate({
    errorPlacement: function(error, element){
    error.appendTo(element.closest('tr').next('tr').children('td').eq(element.index()));
     }
  });
});

よろしくお願いします

4

1 に答える 1

2

私は次のようなことをしたでしょう(これは単なる疑似コードであり、今はテストできません):

$('#frm_submit').click(function(){
    $('#add_this').validate({
        errorPlacement: function(error, element){
            var elId = $(element).attr('id'); //should return one
            var err = $("#err_" + elId); //strings should concatenate to err_one
            error.appendTo(err)
        }
    });
})

乾杯

グルーヴィーク

于 2011-05-10T09:54:43.940 に答える