Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用JQuery取消选中GridView中的所有单选按钮?_C#_Javascript_Jquery_Asp.net_Gridview - Fatal编程技术网

C# 如何使用JQuery取消选中GridView中的所有单选按钮?

C# 如何使用JQuery取消选中GridView中的所有单选按钮?,c#,javascript,jquery,asp.net,gridview,C#,Javascript,Jquery,Asp.net,Gridview,我在GridView中有一个单选按钮。我想取消选中所有asp.net单选按钮,但当前使用JQuery选择的按钮除外。我已经试过了,但是没有结果 HTML标记: <ItemTemplate> <asp:RadioButton ID="rdbUser" runat="server" kID='<%# Eval("kID")%>' class="rdbUser" /> </ItemTemplate> 在Chrome中查看标记时: 选中单选按钮: &l

我在GridView中有一个单选按钮。我想取消选中所有asp.net单选按钮,但当前使用JQuery选择的按钮除外。我已经试过了,但是没有结果

HTML标记:

<ItemTemplate>
 <asp:RadioButton ID="rdbUser" runat="server" kID='<%# Eval("kID")%>' class="rdbUser" />
</ItemTemplate>
在Chrome中查看标记时:

选中单选按钮:

<span class="rdbUser" kid="2"><input id="ctl00_ContentPlaceHolder1_GridView1_ctl03_rdbUser" type="radio" name="ctl00$ContentPlaceHolder1$GridView1$ctl03$rdbUser" value="rdbUser"></span>
<span class="rdbUser" kid="21"><input id="ctl00_ContentPlaceHolder1_GridView1_ctl05_rdbUser" type="radio" name="ctl00$ContentPlaceHolder1$GridView1$ctl05$rdbUser" value="rdbUser"></span>

未选中单选按钮:

<span class="rdbUser" kid="2"><input id="ctl00_ContentPlaceHolder1_GridView1_ctl03_rdbUser" type="radio" name="ctl00$ContentPlaceHolder1$GridView1$ctl03$rdbUser" value="rdbUser"></span>
<span class="rdbUser" kid="21"><input id="ctl00_ContentPlaceHolder1_GridView1_ctl05_rdbUser" type="radio" name="ctl00$ContentPlaceHolder1$GridView1$ctl05$rdbUser" value="rdbUser"></span>

我认为您应该使用属性

使用GroupName属性指定一组单选按钮,以创建一组互斥的控件。当从可用选项列表中只能选择一个选项时,可以使用GroupName属性

设置此属性时,一次只能选择指定组中的一个单选按钮

但是,您可以使用jquery尝试此代码

$(document).on("click", ".rdbUser", function() {
    //Check if this radio button is checked
    if($(this).find("input[type=radio]").is(':checked'))
    {
        //Use .not() to exclude this
        //Use .prop() to set checked to false
        $(".rdbUser").not(this).find("input[type=radio]").prop("checked", false);
    }
});
试试这个

$(document).on("click", ".rdbUser", function() {
    // to uncheck all radios which are not checked
    $("input[type=radio].rdbUser").prop("checked", false);
    $(this).prop('checked',true);// check the current one only
});

使用
更改
事件,而不是
单击

如果使用jquery版本>1.6,则使用
prop
否则使用
attr

$(".rdbUser").change(function(){ 
   if($(this).prop("checked")){
     $("[id^='rdbUser']").not(this).prop("checked",false);
   }
});

希望这有帮助!'grdOrganization'是GridView的Id

<script type="text/javascript">
        function ResetRadioBtns(rb) {
            var gv = document.getElementById("<%=grdOrganization.ClientID%>");
            var rbs = gv.getElementsByTagName("input");
            var row = rb.parentNode.parentNode;
            for (var i = 0; i < rbs.length; i++) {
                if (rbs[i].type == "radio") {
                    if (rbs[i].checked && rbs[i] != rb) {
                        rbs[i].checked = false;
                        break;
                    }
                }
            }
        }    

    </script>

      <asp:TemplateField ItemStyle-HorizontalAlign="Left">
                        <ItemTemplate>
                            <asp:RadioButton ID="rbtnMaster" runat="server" onclick="ResetRadioBtns(this)" />
                        </ItemTemplate>
                    </asp:TemplateField>

功能重置无线基站(rb){
var gv=document.getElementById(“”);
var rbs=gv.getElementsByTagName(“输入”);
var row=rb.parentNode.parentNode;
对于(变量i=0;i