<tr>
<td class = "edit edit_c1">C1</td>
<td>C2</td>
<td class = "edit edit_c3">C3</td>
<td>C4</td>
<tr>
<tr>
<td class = "edit edit_c1">C1</td>
<td>C2</td>
<td class = "edit edit_c3">C3</td>
<td>C4</td>
<tr>
У меня есть Jeditable-код, который работает на ".edit_c1, edit_c2 и т. Д.".Я хочу перейти к следующему редактируемому столбцу на вкладке.У меня есть другой класс «edit» для идентификации редактируемых столбцов.Я предполагаю, что nextall () должен работать, но ни один из приведенных ниже вариантов не дает мне указатель на следующий редактируемый столбец (TD с class = "edit").
$(".edit").keypress(function (event) {
var td = $(this).closest('td');
console.log(this);
// returns <td class="edit edit-c1" style="white-space:nowrap">
switch (event.keyCode) {
// TAB
case 9:
console.log("TABBED");
console.log($(this).closest('td').next('td[@class=edit]'));
//Above logs [td] a handle to C2 instead of C3
console.log($(this).closest('td').nextAll(':has(.edit):first').find('.edit'));
//Above logs []
console.log($(this).nextAll(':has(.edit):first').find('.edit'));
//Above logs []
console.log($(this).closest('td').next().find('.edit'));
//Above logs []
break;
}
});
Код работает до точки, гдеЯ вижу сообщения console.log в firebug.Jeditable часть кода ниже.
$('.edit-c1').editable(function (value, settings) {
var tr = $(this).closest('tr'),
id = tr[0].id;
//comment the line below if you want to test
//saveWSField(id, value, "C1");
return (value);
}, {
type: 'text',
onblur: 'submit'
});