C# 使用jquery选中gridview的复选框

C# 使用jquery选中gridview的复选框,c#,jquery,asp.net,web-applications,gridview,C#,Jquery,Asp.net,Web Applications,Gridview,我有一个带有两个复选框列的gridview。一个用于选择,另一个用于设置属性,如“添加到收藏夹”。此gridview在代码后面加载,复选框在项目模板中定义。问题是,如果有人在同一行中选中两个复选框,而他们本可以选择“添加到收藏夹”,那么这对用户来说不是很友好,这也会自动选中选择复选框。我知道使用jquery可以很容易地做到这一点,因为我不认为为这些选择进行回发是一种良好的用户体验。我对jquery非常陌生,因此如果有任何帮助,我将不胜感激 同一行上的复选框遵循相同的id约定,因此,如果selec

我有一个带有两个复选框列的gridview。一个用于选择,另一个用于设置属性,如“添加到收藏夹”。此gridview在代码后面加载,复选框在项目模板中定义。问题是,如果有人在同一行中选中两个复选框,而他们本可以选择“添加到收藏夹”,那么这对用户来说不是很友好,这也会自动选中选择复选框。我知道使用jquery可以很容易地做到这一点,因为我不认为为这些选择进行回发是一种良好的用户体验。我对jquery非常陌生,因此如果有任何帮助,我将不胜感激

同一行上的复选框遵循相同的id约定,因此,如果select为cbSelect_0,则另一个复选框将为cbfavorite_0。我还将所有cbFavorite复选框赋予同一类“cbMul”,然后我编写了一个函数

 function checkUncheck() {
 $(".cbMul").checked(function() {

if ( $(this).attr('checked')) {
    $('#myCheckbox').attr('checked', false);
} else {
    $('#myCheckbox').attr('checked', 'checked');
}
})); }

现在,我不明白如何获取已选中复选框的属性,如果选择,则替换名称并获取复选框的id,然后选中该复选框

以下是gridview:

<asp:GridView ID="gvEnvironments" EmptyDataText="--- No Data ---" runat="server" AutoGenerateColumns="false"
DataKeyNames="Id" >
<Columns>
    <asp:TemplateField HeaderText="Select">
        <ItemTemplate>
            <asp:CheckBox ID="cbSelectEnvironments" runat="server" />
        </ItemTemplate>
    </asp:TemplateField>
    <asp:BoundField DataField="Id" HeaderText="ID" InsertVisible="false" ReadOnly="true" SortExpression="Id" />
     <asp:TemplateField HeaderText="Multi">
        <ItemTemplate>
            <asp:CheckBox ID="cbFav" runat="server" Checked="false" CssClass="cbMul" />
        </ItemTemplate>
    </asp:TemplateField>
    <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
    <asp:BoundField DataField="Description" HeaderText="Description" HeaderStyle-Width="300px" SortExpression="Description" />

</Columns>                                                                

这是一把小提琴:

HTML:

<table>
    <tr>
        <td>
            <input class="cb1" type="checkbox" />
        </td>
        <td>
            <div id="dd">text</div>
        </td>
        <td>
            <input class="cb2" type="checkbox" />
        </td>
    </tr>
</table>
$(function () {    
    $(".cb2").on("change", function () {
        var cb = $(this),
            cbIsChecked = cb.is(":checked"),
            cbPrev = cb.parent().parent().find(".cb1");

        if(cbIsChecked)
            cbPrev.prop("checked", true);
        else
            cbPrev.prop("checked", false);
    });    
});

在您的复选框中添加适当的类。

尝试一些方法,并为我们提供一些代码。。可能重复的代码示例和您所做的工作会有所帮助。