次のグリッドビューがあります。
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" BackColor="White"
BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="4" DataSourceID="UserModule_allusers"
ForeColor="Black" GridLines="Horizontal" OnRowDataBound="grvGroups_RowDataBound"
Width="324px" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:RadioButton ID="selectRow" GroupName="userSelect" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
ここでは、1 つのラジオ ボタンを使用して行を選択しています。行を選択するには、次の jquery スクリプトを使用しています。
$('#<%=GridView1.ClientID%>').find('input:radio[id*="selectRow"]').click(function () {
$('<%=GridView1.ClientID%>').find('input:radio[id*="selectRow"]').attr('checked',false);
$(this).attr('checked', true);
var isChecked = $(this).prop("checked");
var $selectedRow = $(this).parent("td").parent("tr");
var selectedIndex = $selectedRow[0].rowIndex;
if (isChecked)
$selectedRow.css({
"background-color": "DarkSlateBlue",
"color": "GhostWhite"
});
});
このスクリプトでは、最初にグリッド内のすべてのラジオ ボタンのチェックを外し、現在のコンテキスト ラジオ ボタンをチェックしようとしています。すべてのラジオ ボタンがチェックされていませんが、現在のラジオ ボタンはチェックされていません。私が間違いを犯した場所。