Как получить идентификатор пропущенного HTML-элемента с помощью jQuery? - PullRequest
0 голосов
/ 17 июня 2011

У меня есть код в моей странице списка что-то вроде этого:

 <g:each in="${clientTripInstanceList}" status="i" var="clientTripInstance">
     <tr class="${(i % 2) == 0 ? 'odd' : 'even'}" id="${(i % 2) == 0 ? 'odd' : 'even'}">
         <td onclick="show_view('${clientTripInstance.id}')" class = "td_link">${fieldValue(bean: clientTripInstance, field: "number")}</td>
         <td onclick="show_view('${clientTripInstance.id}')" class = "td_link">${fieldValue(bean: clientTripInstance, field: "client")}</td>

      </tr>
</g:each>

сейчас

function show_view(trip_id){
   var rowId =           // get the id of the row

 }

из этой функции мне нужно получить идентификатор строки таблицы, которая указана выше. Как мне получить это с помощью jQuery? Я попробовал это:

var rowId = (this).attr("id"); 

, который вообще не работает. Обратите внимание на то, что я определил id в <tr>, а не в <td>, где я вызываю функцию, а функция определена на другой странице.

Ответы [ 3 ]

2 голосов
/ 17 июня 2011

Вы забыли знак доллара: (

var rowId = $(this).attr("id");

EDIT

<g:each in="${clientTripInstanceList}" status="i" var="clientTripInstance">
    <tr class="${(i % 2) == 0 ? 'odd' : 'even'}" id="${(i % 2) == 0 ? 'odd' : 'even'}">
        <td id="${clientTripInstance.id}" onclick="show_view('${clientTripInstance.id}')" class= "td_link">${fieldValue(bean: clientTripInstance, field: "number")}</td>
        <td onclick="show_view('${clientTripInstance.id}')" class= "td_link">${fieldValue(bean: clientTripInstance, field: "client")}</td>
    </tr>
</g:each>

function show_view(trip_id){
    var $this = $('#' + trip_id);
    var row_id = $this.parent().attr('id');
}
1 голос
/ 17 июня 2011

Чтобы сослаться на ячейку таблицы, которую вы щелкаете в show_view (), вы можете передать в функцию параметр 'this', попробуйте следующее:

<td onclick="show_view(this, '${clientTripInstance.id}')" class = "td_link">${fieldValue(bean: clientTripInstance, field: "number")}</td>

function show_view(dom, trip_id) {
    var rowId = $(dom).parent().attr("id");
}
0 голосов
/ 17 июня 2011

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

var rowId = this.id

Это просто javascript, а не jQuery

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