Я довольно новичок в jQuery, и у меня возникают проблемы с выбором событий нажатия кнопок в jQuery из кнопок, сгенерированных в ItemTemplate в репитере ASP.ASP Repeater - кнопка сгенерирована нажатием кнопки jQuery
Я потратил несколько (потраченных впустую) часов на поиск ответа, который будет работать, но пока не повезло.
надрез от Моей страницы .aspx:
<asp:Repeater ID="rptJobs" runat="server">
<ItemTemplate>
<asp:Panel ID="Panel1" runat="server">
<table>
<tr>
<td>Desc:</td>
<td></td>
<td><%#Eval("DESCRIPTION")%></td>
</tr>
</table>
<asp:Button runat="server" ID="myBtn" Tag='<%# Eval("JOB_NO") %>' Text='Go' />
</asp:Panel>
</ItemTemplate>
</asp:Repeater>
Сгенерированного HTML:
<div id="rptJobs_ctl00_Panel1">
<table>
<tr>
<td>Desc:</td>
<td></td>
<td>Test Data 1</td>
</tr>
</table>
<input type="submit" name="rptJobs$ctl00$myBtn" value="Go" id="rptJobs_ctl00_myBtn_0" Tag="MI0683" />
</div>
<div id="rptJobs_ctl01_Panel1">
<table>
<tr>
<td>Desc:</td>
<td></td>
<td>Test Data 2</td>
</tr>
</table>
<input type="submit" name="rptJobs$ctl01$myBtn" value="Go" id="rptJobs_ctl01_myBtn_1" Tag="MI0684" />
</div>
Теперь этот JQuery работает (с указанием сгенерированного идентификатора кнопки):
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$(function() {
$("#rptJobs_ctl00_myBtn_0").click(function() {
// This displays the text from the Tag element of the button...
alert($(this).attr("tag"));
});
});
});
</script>
Тем не менее, я хочу иметь возможность использовать общую функцию, которая будет вызываться для события click для всех сгенерированных bu ttons - любая помощь ценится!
Ted H
Я бы предложил дать им общий класс css, чтобы вы могли использовать селектор классов из jQuery, предназначенный для всех кнопок, не зависящих от его идентификатора. В конце концов добавьте другой атрибут (или другой класс, но он не является чистым), чтобы идентифицировать щелчок «строка», если вы не хотите анализировать идентификатор. –
попробуйте извлечь атрибут тега из кода позади. он может работать лучше без вмешательства jquery. – thenewseattle
Спасибо Bartdude за то, что указали мне в правильном направлении. Мое исправленное объявление кнопки в моем файле .ASPX (добавление класса):' ClientIDMode = "предсказуемый"/> Моя JQuery функция:. $ (" ххх") нажмите (функция() { оповещения ('here'); var t = $ (this) .attr ("tag"); alert (t); return false; }); Это работает! Благодарю. –