поэтому у меня есть этот код html и код jquery. И когда я нажимаю кнопку «produkter» tablerows с именем класса «fa-products», я хочу найти скрытый ввод поля, который находится на том же tablerow, что и кнопка, которую вы нажимаете (каждый tablerow имеет скрытый ввод поля и «кнопка« продюсер »). Затем я хочу сохранить значение скрытого поля в переменной, которую все могут мне помочь? когда i "console.log (discountId);" она откликается undefiend«ближайший()» метод в jquery не работает
<div class="eastSide row top-buffer col-xs-8" style="overflow:scroll; height:250px;">
<table style="width:100%">
<tr>
<th>Code</th>
<th>Aktiv</th>
<th>Skapad</th>
<th></th>
</tr>
@foreach (var discount in Model.DiscountList)
{
<tr>
<td><input name="codeTextBox" id="codeTextBox" value="@discount.Code" maxlength="18" /></td>
<td><input type="checkbox" id="activeCheckBox" name="activeCheckBox" checked="@discount.Active" /></td>
<td><input type="datetime" value="@discount.CreatedDate" readonly /></td>
<td>
<input type="button" value="Radera" class="fa fa-remove" data-url="@Url.Action("DeleteDiscountCode","Discount",new { id= discount.Id})" />
<input type="button" value="Uppdatera" class="fa fa-update" data-url="@Url.Action("UpdateDiscount","Discount")" />
<input type="button" value="Produkter" class="fa fa-products" id="@discount.Id" data-url="@Url.Action("chooseProductsForDiscountCode","Discount")" />
</td>
<td><input id="id" type="hidden" value="@discount.Id" /></td>
</tr>
}
</table>
</div>
<script>
$(".fa-products").on("click", function (e) {
var discountId = $(event.target).closest('input[type="hidden"]').val();
console.log(discountId);
});
</script>
когда я console.log (discountId) , он отвечает undefiend @Teemu –
[Документы для ближайших говорит] (http://api.jquery.com/closest/): «_... получить первый элемент, который соответствует селектору, путем тестирования самого элемента и прохождения через своих предков ... », ваш« скрытый »не находится на пути вверх. – Teemu