Как выбрать конкретные данные <tr>при нажатии <td>? - PullRequest
1 голос
/ 21 декабря 2010
<div id="test">          
<tr>
               <td><input name="item" type="checkbox" value="foo1"></td>

                <td>foo2</td>

                <td>foo3 </td>

                <td><a href="#test" rel="facebox">edit</a></td>
              </tr>
              <tr>
                <td><input name="item" type="checkbox" value="bar1"></td>
                <td>bar2</td>
                <td>bar3 </td>
                <td><a href="#test" rel="facebox">edit</a></td>
              </tr>          

        </div>

Здесь у меня есть два <tr> ie two rows. У меня есть edit link на последнем <td> of each <tr>. Я хочу, чтобы при нажатии на каждый edit link определенные данные tr появлялись с facebox. Но я понятия не имею, как поймать только one tr value?

Ответы [ 3 ]

2 голосов
/ 21 декабря 2010

Вы можете получить <tr> из .closest(), например:

$("tr a").click(function() { 
  var tr = $(this).closest("tr");
});

Тогда вы можете делать с ним все, что захотите, используйте .find() чтобы получить содержимое и т. Д.

0 голосов
/ 22 декабря 2010

Решение Ника будет работать с вашим примером кода, но если есть вероятность, что любые другие теги в пределах td в этом tr, вы захотите быть более конкретными:

$("a[rel=facebox]").click(function() {
    var tr = $(this).closest("tr");
    //do stuff with…
}); 

НТН

Благословения, Джим Боб

0 голосов
/ 21 декабря 2010
$("tr").each(function(i, el) {
  $(el).find("a").click(function(ev) { 
     var tr = el;
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...