#javascript #jquery #asp.net
#javascript #jquery #asp.net
Вопрос:
У меня есть скрытое поле в каждом Tr
моем шаблоне:
<ItemTemplate>
<tr style="" class="ui-selectee trClass ui-widget-content">
<td style="width: 100px">
<asp:HiddenField ID="idField" runat="server" Value='<%# Eval("Id") %>' />
<asp:Label ID="IdLabel" runat="server" Text='<%# Eval("Id") %>' />
</td>
<td>
<asp:Label ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' />
</td>
<td>
<asp:Label ID="EmailLabel" runat="server" Text='<%# Eval("Email") %>' />
</td>
</tr>
</ItemTemplate>
Нет, в each
цикле на выбранном Tr
, как я могу получить скрытое поле?
$(".ui-selected", this).each(function () {
var index = $(".selectable tr").index(this);
var idField = ??
});
Я уже начал с:
var idField = $(".selectable tr > [id*='idField']");
Но, похоже, это не работает!
Любая помощь!
Ответ №1:
var id = $('tr.ui-selectee td input[type="hidden"]').val();
Комментарии:
1. Спасибо, но я предпочитаю иметь дело с идентификатором элемента управления вместо его типа
2. @Jack, идентификатор может быть искажен ASP.NET поэтому было бы лучше работать либо с селектором класса, либо с типом.
3. @Darin Dimitrov: Но это скрытое поле и, похоже, оно не поддерживает классы.
4. @Jack, конечно, что он поддерживает классы. Скрытые поля отображаются как
<input type="hidden" class="foo" name="foo" value="bar" />
.5. @Darin: Я пробовал, была выдана следующая ошибка:
Parser Error Message: Type 'System.Web.UI.WebControls.HiddenField' does not have a public property named 'CssClass'.
Ответ №2:
попробуйте это…
$(".ui-selected", this).each(function () {
var index = $(this).find('#idField').val();// use common class for hidden field,that would be good.
alert(index );
});
Комментарии:
1. Могу ли я использовать классы со скрытыми полями?