2016-11-04 20 views
0

私のASP.Netプロジェクトでは、2つのチェックボックスと他のデータ列を持つGridViewがあります。 2つのチェックボックスはラジオボタンのようなもので、1がチェックされているときはもう1つはチェックを外す必要があります。私はこれをラジオボタンに変更することはできません。クライアント側でこれを排他的に達成するにはどうすればよいですか?以下はASP.Net GridViewチェックボックス別のチェックボックスを更新するをクリック

GridViewの

<asp:GridView ID = "gridview1" runat="server" HorizontalAlign="Left" AutoGenerateColumns="false" 
 
    BackColor="White" 
 
    BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" CellPadding="6" 
 
    ForeColor="Black" GridLines="Vertical"> 
 
    <AlternatingRowStyle BackColor = "#CCCCCC" /> 
 
    < FooterStyle BackColor="#CCCCCC" /> 
 
    <HeaderStyle BackColor = "Black" Font-Bold="True" ForeColor="White" /> 
 
    <Columns> 
 
     <asp:TemplateField HeaderText = "Yes" ItemStyle-HorizontalAlign="Center"> 
 
      <ItemTemplate> 
 
       <asp:CheckBox ID = "checkbox1" runat="server"/> 
 
      </ItemTemplate> 
 
      <ItemStyle HorizontalAlign = "Center" ></ ItemStyle > 
 
     </ asp:TemplateField> 
 

 
     <asp:TemplateField HeaderText = "No" ItemStyle-HorizontalAlign="Center"> 
 
      <ItemTemplate> 
 
       <asp:CheckBox ID = "checkbox2" runat="server" /> 
 
      </ItemTemplate> 
 
      <ItemStyle HorizontalAlign = "Center" ></ ItemStyle > 
 
     </ asp:TemplateField> 
 

 
     <asp:TemplateField HeaderText = "Account" ItemStyle-HorizontalAlign="Right" > 
 
      <ItemTemplate> 
 
       <asp:Label runat = "server" Text='<%#Eval("Account") %>'></asp:Label> 
 
      </ItemTemplate> 
 

 
      <ItemStyle HorizontalAlign = "Right" ></ ItemStyle > 
 
     </ asp:TemplateField> 
 

 
     <asp:TemplateField HeaderText = "REL" ItemStyle-HorizontalAlign="Right"> 
 
      <ItemTemplate> 
 
       <asp:Label runat = "server" Text='<%Eval("Relation") %>' 
 
        ID="RelPosTypeLabel"></asp:Label> 
 
      </ItemTemplate> 
 

 
      <ItemStyle HorizontalAlign = "Right" ></ ItemStyle > 
 
     </ asp:TemplateField> 
 

 
    </Columns> 
 
</asp:GridView>

答えて

0

はここであなたのために働くだろうスニペットです。

<script type="text/javascript"> 
    $("#<%= GridView1.ClientID %> tr input:checkbox").change(function() { 
     var rowIndex = parseInt(this.id.split("_")[2]); 
     switchCheckBoxes(rowIndex + 1); 
     this.checked = true; 
    }); 

    function switchCheckBoxes(rowIndex) { 
     $("#<%= GridView1.ClientID %> tr").each(function (index, element) { 
      if (index == rowIndex) { 
       $(this).find("td input:checkbox").each(function() { 
        this.checked = false; 
       }); 
      } 
     }); 
    } 
</script> 

そして、これらすべての余分なスペースを削除し、それが可読性ID = "gridview1">ID="gridview1"

を改善します
関連する問題