Javascript 如何使用jquery只选择一个复选框?

Javascript 如何使用jquery只选择一个复选框?,javascript,jquery,asp.net,webforms,Javascript,Jquery,Asp.net,Webforms,我正在asp.net网格视图中使用复选框。我想一次只选中一个复选框。如果我选中一个复选框,则应取消选中其他复选框 我有html视图源代码 <input id="ctl00_MainContent_mGrid_ob_mGridBodyContainer_ctl02_ctl02_ctl00_ChkID" type="checkbox" <input id="ctl00_MainContent_mGrid_ob_mGridBodyContainer_ctl03_ctl02_ctl00_C

我正在asp.net网格视图中使用复选框。我想一次只选中一个复选框。如果我选中一个复选框,则应取消选中其他复选框

我有html视图源代码

<input id="ctl00_MainContent_mGrid_ob_mGridBodyContainer_ctl02_ctl02_ctl00_ChkID" type="checkbox" 
<input id="ctl00_MainContent_mGrid_ob_mGridBodyContainer_ctl03_ctl02_ctl00_ChkID" type="checkbox"

使用单选按钮而不是复选框

<form>
    <input type="radio" name="parents" value="Mom" /> Mom<br />
    <input type="radio" name="parents" value="Dad" /> Dad
</form>

妈妈
爸爸
使用单选按钮而不是复选框

<form>
    <input type="radio" name="parents" value="Mom" /> Mom<br />
    <input type="radio" name="parents" value="Dad" /> Dad
</form>

妈妈
爸爸
通常,单选按钮用于独占功能,其中组中只有一个项目被选中,浏览器将使用正确的HTML自动为您完成任务

对于复选框,可以使用jQuery对其进行如下编码:

<div class="checkboxContainer">
    <input id="ctl00_MainContent_mGrid_ob_mGridBodyContainer_ctl02_ctl02_ctl00_ChkID" type="checkbox"> Item 1<br>
    <input id="ctl00_MainContent_mGrid_ob_mGridBodyContainer_ctl03_ctl02_ctl00_ChkID" type="checkbox"> Item 2<br>
    <input id="ctl00_MainContent_mGrid_ob_mGridBodyContainer_ctl04_ctl02_ctl00_ChkID" type="checkbox"> Item 3
</div>​

$("input[type='checkbox']").change(function() {
    $(this).closest(".checkboxContainer").find("input[type='checkbox']").not(this).prop("checked", false);
    $(this).prop("checked", true);
});

项目1
项目2
项目3 ​ $(“输入[type='checkbox']”)。更改(函数(){ $(this).closest(“.checkboxContainer”).find(“input[type='checkbox']”)。not(this).prop(“checked”,false); $(this).prop(“选中”,true); });
​ 工作演示:

以下是制作独家单选按钮的纯HTML方式(也在同一演示中):


项目A
B项
项目C

通常,单选按钮用于独占功能,其中组中只有一个项目被选中,浏览器将使用正确的HTML自动为您完成任务

对于复选框,可以使用jQuery对其进行如下编码:

<div class="checkboxContainer">
    <input id="ctl00_MainContent_mGrid_ob_mGridBodyContainer_ctl02_ctl02_ctl00_ChkID" type="checkbox"> Item 1<br>
    <input id="ctl00_MainContent_mGrid_ob_mGridBodyContainer_ctl03_ctl02_ctl00_ChkID" type="checkbox"> Item 2<br>
    <input id="ctl00_MainContent_mGrid_ob_mGridBodyContainer_ctl04_ctl02_ctl00_ChkID" type="checkbox"> Item 3
</div>​

$("input[type='checkbox']").change(function() {
    $(this).closest(".checkboxContainer").find("input[type='checkbox']").not(this).prop("checked", false);
    $(this).prop("checked", true);
});

项目1
项目2
项目3 ​ $(“输入[type='checkbox']”)。更改(函数(){ $(this).closest(“.checkboxContainer”).find(“input[type='checkbox']”)。not(this).prop(“checked”,false); $(this).prop(“选中”,true); });
​ 工作演示:

以下是制作独家单选按钮的纯HTML方式(也在同一演示中):


项目A
B项
项目C

在asp.net中,您应该使用单选按钮而不是复选框(在本例中)


GroupName
属性使此功能成为您需要的功能。(如果radio1已选中
,则radio2将自动取消选中。
希望获得以下帮助:)

在asp.net中,您应该使用单选按钮而不是复选框(在本例中)


GroupName
属性使此功能成为您需要的功能。(如果radio1已选中,则radio2将自动取消选中。
希望获得以下帮助:)

也许您想改用单选按钮?您是否有两个按行的复选框?我同意单选按钮更适合这种情况。也许你想改用单选按钮?你有两个复选框吗?不过,我同意单选按钮更适合这种情况。事实上,单选按钮就是为这种情况而设计的。除了使复选框按您的意愿运行所需的额外工作之外,单选按钮在语义上更为正确——它们的存在本身就是一个视觉线索,“嘿,您只能选择其中一个”——即使出于某种原因禁用了JavaScript,它们也会做正确的事情。此外,单选按钮自然适合于此项工作。关于JavaScript被禁用的可能性,您提出了一个很好的观点。单选按钮就是为这种情况而设计的。除了使复选框按您的意愿运行所需的额外工作之外,单选按钮在语义上更为正确——它们的存在本身就是一个视觉线索,“嘿,您只能选择其中一个”——即使出于某种原因禁用了JavaScript,它们也会做正确的事情。此外,单选按钮自然适合于此项工作。关于JavaScript被禁用的可能性,您提出了一个很好的观点。