[英]How to loop through gridview client side?
我有這樣的網格視圖:
<telerik:RadGrid ID="RadGrid1" runat="server" GridLines="None" AllowPaging="true"
PageSize="20" OnPreRender="RadGrid1_PreRender" Width="500px">
<PagerStyle Mode="NextPrevAndNumeric" />
<MasterTableView TableLayout="Fixed" Width="500px">
<ItemTemplate>
<%# (((GridItem)Container).ItemIndex != 0)? "</td></tr></table>" : "" %>
<asp:Panel ID="ItemContainer" CssClass='<%# (((GridItem)Container).ItemType == GridItemType.Item)? "item" : "alternatingItem" %>'
runat="server">
<asp:Image ID="image_event" runat="server" ImageUrl='<%# Eval("event_pic")%>' AlternateText="" />
<asp:RadioButton ID="rbtn_map" runat="server" onclientclick="adjustSelected(this)" />
</asp:Panel>
</ItemTemplate>
</MasterTableView>
<GroupingSettings CaseSensitive="false" />
</telerik:RadGrid>
我想通過客戶端方法adjustSelected(this)
循環遍歷所有adjustSelected(this)
按鈕使它們未被選中並設置僅被選中的單擊方法。
給網格中的所有單選按鈕一個類( class="radioClass"
):
<asp:RadioButton CssClass="radioClass" runat="server" onclientclick="adjustSelected(this)" />
然后使用該類選擇所有其他無線電:
function adjustSelected(obj){
$('.radioClass').prop('checked', false);
this.checked = true;
}
您還可以使用不引人注目的JavaScript:
var $radios = $('.radioClass');
$('.radioClass').click(function(){
$radios.prop('checked', false);
this.checked = true;
});
更新:
好ASP.Net生成奇怪的標記,所以使用它作為函數:
function adjustSelected(obj){
console.log($('.radioClass :radio'));
$('.radioClass :radio').prop('checked', false);
$(':radio', obj).prop('checked', true);
}
function checkRadio{
var grid = document.getElementById('<%=RadGrid1.ClientID%>');
if (grid) {
var elements = grid.getElementsByTagName('input');
var checkcount = 0;
for (var i = 0; i < elements.length; i++) {
if (elements[i].type == 'radio' && elements[i].id.toString().match('rbtn_map') != null) {
--- do code here ---
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.