1

我在 asp.net gridview 中使用复选框。我想一次只选择一个复选框。如果我选择一个复选框,则应取消选择其他复选框。

我有 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"
4

3 回答 3

3

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

<form>
    <input type="radio" name="parents" value="Mom" /> Mom<br />
    <input type="radio" name="parents" value="Dad" /> Dad
</form>
于 2012-06-20T22:36:10.527 回答
3

通常单选按钮用于独占功能,其中仅选择组中的一个项目,并且浏览器将使用正确的 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);
});

​ 工作演示:http: //jsfiddle.net/jfriend00/hWEXx/

这是执行专有单选按钮的纯 HTML 方式(也在同一个演示中):

<div class="radioGroup">
    <input type="radio" name="group1">Item A<br>
    <input type="radio" name="group1">Item B<br>
    <input type="radio" name="group1">Item C<br>
</div>
于 2012-06-20T22:40:23.117 回答
0

在 asp.net 中,您应该使用单选按钮而不是复选框(在这种情况下)

<div class="group">
   <asp:RadioButton Id="radio1" runat="server" GroupName="radioGroup" />
   <asp:RadioButton Id="radio2" runat="server" GroupName="radioGroup" />
</div>

GroupName属性使您需要此功能。(如果radio1是Checkedradio2自动取消选中。希望这有帮助:)

于 2012-06-21T08:51:05.443 回答