Ошибка размещения с плагином jquery validate - PullRequest
1 голос
/ 10 мая 2011

моя форма представляет собой таблицу, а поля ввода находятся в строках и нескольких столбцах. Я пытаюсь поместить сообщения об ошибках с помощью плагина 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>

Так, например, если ошибка была на входе с идентификатором 'one', соответствующая ошибка msg должна появиться в ячейке с идентификатором '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()));
     }
  });
});

Заранее большое спасибо

1 Ответ

2 голосов
/ 10 мая 2011

Я бы сделал что-то вроде (это просто псевдокод, я не могу сейчас проверить):

$('#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)
        }
    });
})

Приветствия

Grooveek

...