2016-07-09 3 views
0

Я использую JQuery У меня есть таблица внутри вида бритвы ... Я хочу получить значение (StudentID) в соответствии с щелчком на img, который у меня есть в той же строке, I хотите получить значение, а затем отправить его в Action Method в классе Controller в качестве параметра. С этим предложением я просто получаю строку например, если нажать на элемент IMG и в этой строке значение StudentID составляет 129, то значение id являетсяПолучить значение из таблицы с помощью JQuery

"\n 129 \n" 

Я ожидаю id к имеют значение 129. Это предложение, что мне нужно изменить? Я попытался с помощью InnerText(), но JQuery не признает его

var id = $(this).parent().siblings().eq(3).text() 

Если вы хотите обратиться к таблице это:

@foreach (var item in Model) { 
    <tr> 
     <td> 
      @Html.DisplayFor(modelItem => item.Name) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.LastName) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.Age) 
     </td> 
     <td style="display:none" id="tdStudentID"> 
      @Html.DisplayFor(modelItem =>item.StudentID) 
     </td> 
     <td> 
      <img src="~/images/deleteIcon.png" width="20" height="20" class="imgJQuery" /> 
     </td> 

    </tr> 
} 
+1

Попробуйте этот селектор 'var id = $ (this) .closest ('tr'). Find ('# tdStudentID'). Text()' – guradio

+0

попробуйте этот селектор 'var id = $ (this) .closest ('tr ') .find (' # tdStudentID '). text() 'Я также предлагаю использовать класс вместо ID в качестве цикла, вы создадите дублированный идентификатор, а' ID всегда должен быть UNIQUE'. поэтому ваш селектор будет 'var id = $ (this) .closest ('tr'). find ('. tdStudentID'). text()' – guradio

+0

@guradio вы правы в использовании атрибута класса, а не id, но все же Я получаю тот же результат: '' \ n 129 \ n "' Я пытался использовать селектор, который вы мне дали, но он получает тот же результат. – AlexGH

ответ

1

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

<td> <img src="~/images/deleteIcon.png" width="20" height="20" class="imgJQuery" data-student-id='@Model.StudentID'/> </td> 

Тогда просто поймать его так

$('img').data('student-id') 
+0

Да, это ответ, как сказал Стивен Мюекке, очень легко используя атрибут data внутри тега img, thnxs – AlexGH

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