轉帖|其它|編輯:郝浩|2011-03-15 13:16:14.000|閱讀 1562 次
概述:在使用Repeater控件時,我們可能經常要獲取Repeater控件中的子控件,在 后臺代碼中我們可以通過使用FindControl方法來獲取Repeater控件中的子控件。但是有時可能需要使用Javascript無刷新地獲取 Repeater控件的子控件,以前總是覺得使用了像Repeater這樣的服務器數據控件后,很難獲取到它里面的子控件,后來點擊查看頁面的源代碼發 現,其實在生成的客戶端代碼中,仔細觀察會發現,它里面的子控件生成的ID是有規律的,這樣我們可以使用jQuery獲取到每一個控件。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在使用Repeater控件時,我們可能經常要獲取Repeater控件中的子控件,在 后臺代碼中我們可以通過使用FindControl方法來獲取Repeater控件中的子控件。但是有時可能需要使用Javascript無刷新地獲取 Repeater控件的子控件,以前總是覺得使用了像Repeater這樣的服務器數據控件后,很難獲取到它里面的子控件,后來點擊查看頁面的源代碼發 現,其實在生成的客戶端代碼中,仔細觀察會發現,它里面的子控件生成的ID是有規律的,這樣我們可以使用jQuery獲取到每一個控件。
在前臺頁面添加一個Repeater控件,里面添加一個CheckBox控件。
<div style="width:300px">
<asp:Repeater ID="rptCardGift" runat="server">
<ItemTemplate>
<asp:CheckBox ID="chkName" runat="server" Width="200px" Text='<%#Eval("Name") %>'/>
<asp:Label ID="lblPoints" runat="server" Text='<%#Eval("Point") %>'></asp:Label>
</ItemTemplate>
</asp:Repeater>
</div>
在對Repeater控件進行綁定后,瀏覽頁面,點擊查看源代碼,客戶端生成的html代碼如下:
<div style="width:300px">
<span style="display:inline-block;width:200px;">
<input id="rptCardGift_chkName_0" type="checkbox" name="rptCardGift$ctl00$chkName" />
<label for="rptCardGift_chkName_0">購物金10元</label>
</span>
<span id="rptCardGift_lblPoints_0">5</span>
<span style="display:inline-block;width:200px;">
<input id="rptCardGift_chkName_1" type="checkbox" name="rptCardGift$ctl01$chkName" />
<label for="rptCardGift_chkName_1">電影門票1張</label>
</span>
<span id="rptCardGift_lblPoints_1">10</span>
<span style="display:inline-block;width:200px;">
<input id="rptCardGift_chkName_2" type="checkbox" name="rptCardGift$ctl02$chkName" />
<label for="rptCardGift_chkName_2">迪斯尼樂園門票1張</label>
</span>
<span id="rptCardGift_lblPoints_2">15</span>
</div>
從上面可以看出,客戶端生成的CheckBox控件的ID為"Repeater控件的ID"+"CheckBox控件的ID"+"序號",可以發現所有的checkbox的id的前面部分是一樣的,這樣我們在Javascript中就可以根據這個規律來查找控件了。
<script type="text/javascript">
$(function () {
$(":checkbox[id^=rptCardGift_chkName]").click(function () {
});
});
</script>
然后我們可以利用jQuery的parent(),children(),prev(),next()等方法來獲取與它相鄰、父、子控件了,當然獲得控件了,也就可以取得控件的值了。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載