2013-07-10 2 views
0

У меня есть таблица (идентификатор таблицы county_table) с большим количеством линий, как это:Jquery строка выбора в кнопки OnClick

<tr> 
<td><input class="text" type=text name=param1 maxlength=2 size=2></td> 
<td><select class="text" name=param2><option value=1>Live<option value=2>Test</select></td> 
<td><input class="text" type=text name=param3 ></td> 
<td><input class="text" type=text name=param4 ></td> 
<td><input class="text" type=text name=param5 ></td> 
<td><input class="text" type=text name=param6 ></td> 
<td colspan=2><input class="button" type=submit value=New onclick="function_new($('#county_table tr:eq(1)'))"></td> 
</tr> 

Функция OnClick будет управлять данными таблицы, и, возможно, отправить AJAX , поэтому мне нужно получить все элементы таблицы.

Плохая вещь с этим решением заключается в том, что если я вставляю новую строку, весь выбор строки таблицы будет испорчен, поэтому я бы хотел изменить tr:eq(1), что-то вроде this.tr или что-то в этом роде, это кнопка знать его предка и получить данный объект?

Буду признателен за любую помощь.

ответ

1

Я бы рекомендовал вам использовать $(this).parent().parent() для лучшей производительности. http://jsperf.com/parentparentvsclosest/2

Но если вы ищете простоту кода, то вы можете пойти за $(this).closest('tr').

+0

спасибо! я действительно не знаю, какая из них лучше, потому что каждый ответ прекрасен, цените свою работу, ребята! необходимо сначала дать знак приема – czupe

2

Вы можете использовать closest(), чтобы получить родительский tr кнопки нажатой кнопки.

var trOfButton = $(this).closest('tr'); 

Описание ближе: Для каждого элемента в наборе, получить первый элемент, соответствующий селектор путем тестирования элемента себя и обходе через своих предков в дереве DOM, Reference.

+0

спасибо. Цените свой ответ! – czupe

+0

Добро пожаловать. – Adil

1

Вы можете использовать:

- $(this).closest('tr'); 

ИЛИ

- $(this).parent().parent(); 

.closest() даст вам ближе всего тр к кнопке и .parent() возвращает родительский элемент (TD) и снова родитель вернет эту строку

+1

Спасибо. Цените свой ответ! – czupe

Смежные вопросы