我很新的jQuery和我在jQuery中從按鈕生成一個ItemTemplate在ASP轉發器中生成的按鈕點擊事件的問題。ASP轉發器 - 抓住生成的按鈕點擊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(指定產生的按鈕ID):
<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>
不過,我希望能夠使用將爲所有生成的bu調用click事件的泛型函數ttons - 任何幫助表示讚賞!
特德^ h
我會建議給他們一個普通的css類,這樣你就可以使用jQuery中的一個類選擇器來定位所有不依賴於它的id的按鈕。最後添加另一個屬性(或另一個類,但它不是乾淨的)來標識單擊的「行」,如果你不想分析這個id。 –
嘗試從後面的代碼中獲取標籤屬性。它可能更好地工作,沒有jQuery的干擾。 – thenewseattle
感謝Bartdude指引我在正確的方向。 我對.ASPX文件(添加一個類)的修改後的按鈕聲明:'Text ='<%#Eval(「JOB_NO」)%>'ClientIDMode ='Predictable「/> 我的jQuery功能: $(」。xxx「)。click(function(){alert 'this'); var t = $(this).attr(「tag」); alert(t); return false; }); This Works!謝謝。 –