#javascript #jquery #asp.net
#javascript #jquery #asp.net
Вопрос:
<table>
<tr>
<td>
<asp:Label ID="lblUnitPrice" runat="server" Text='<%#Eval("UNIT_PRICE") %>' />
<input type="text" id="txtUnitPrice" style="display: none" />
</td>
<td>
<asp:LinkButton ID="linkBtnUnitPrice" runat="server" Text="Edit" OnClientClick="SetEditMode(this); return false;" />
</td>
</tr>
</table>
Я хочу получать идентификатор lblUnitPrice, когда пользователь нажимает на linkBtnUnitPrice, то есть в функции SetEditMode (this) с использованием jQuery или Javascript
Ответ №1:
$(this).parent().prev().find("input").attr("id");
Ответ №2:
Просто для ясности; jQuery ничего не знает о ваших тегах ASP; он увидит только готовый HTML-код. В этом случае я ожидаю, что ваш <asp:Label>
должен сгенерировать один HTML-тег, но это не всегда так с более сложными тегами ASP.
Ваш код jQuery должен выглядеть примерно так:
$('#linkBtnUnitPrice').click(function() {
var label = $(this).parent().siblings().find('label');
});
однако, учитывая, что вы уже знаете идентификатор как кнопки, так и метки, вам на самом деле не нужно искать родственные значения; вы можете сразу перейти к соответствующему идентификатору:
$('#linkBtnUnitPrice').click(function() {
var label = $('#lblUnitPrice');
});
Ответ №3:
добавление этого или чего-то подобного к кнопке, вероятно, помогло бы. (сам не проверял, хотя.)
onclick="alert(jQuery(this).parent().siblings('td').children('label').attr('id'))"