gridviewwebform每行有多个复选框,但每行只允许选中一个
GridView WebForm having multiple checkboxes per row but only 1 per row is allowed to be checked
我有代码,其中一个gridview在asp.net webforms吐出3个复选框,我想让Jquery轻松地遍历ID,只允许1复选框每行被选中。
它们总是有相同的名字,只是结束的数字会增加,因此第1行可能没有数字,但以1结尾,然后以2结尾,然后它们都以3结尾,等等…
我可以这样做,遗憾的是,我写了一大堆javascript/jquery,我检查每个特定的复选框和那些以1结尾的,那些不能有任何其他以1结尾的复选框,他们必须被选中
我正在考虑正则表达式,其中我检查ID的开头,然后检查ID的结尾,并使每个ID具有"chkCtrl"并以"1"等唯一数字结束,即选中的特定框将取消选中以1结尾的其他"chkCtrl"。因此Out1, Y1, N1
我确信有一个快速的方法来做到这一点,我只是似乎找不到一个例子。
例子<table>
<tr>
<td>Out</td>
<td>Yes</td>
<td>No</td>
</tr>
<tr>
<td>
<input id="MainContent_chkCtrlOut" type="checkbox" name="ctl00$MainContent$chkCtrl" />
</td>
<td>
<input id="MainContent_chkCtrlY" type="checkbox" name="ctl00$MainContent$chkCtrl" />
</td>
<td>
<input id="MainContent_chkCtrlN" type="checkbox" name="ctl00$MainContent$chkCtrl" />
</td>
</tr>
<tr>
<td>
<input id="MainContent_chkCtrlOut1" type="checkbox" name="ctl00$MainContent$chkCtrl" />
</td>
<td>
<input id="MainContent_chkCtrlY1" type="checkbox" name="ctl00$MainContent$chkCtrl" />
</td>
<td>
<input id="MainContent_chkCtrlN1" type="checkbox" name="ctl00$MainContent$chkCtrl" />
</td>
</tr>
这可以通过编写几行jquery轻松完成。例如,请参阅下面的代码。
$('input:checkbox').click(function(){
$(this).closest('tr').find('input:checkbox').removeProp('checked');
$(this).prop('checked',true);
});
jsFiddle: https://jsfiddle.net/taleebanwar/a3qk0kc1/1/
编辑
正如Tom Stickel在评论中提到的,使用removeProp是一个坏主意。它可能无法在jquery 2.*中工作。参考Tom Stickel的答案,找到更好的方法。
选择的答案将在旧的jquery中工作,如果您将选择的答案jquery版本更改为新版本,则复选框不起作用
。removeProp是个坏主意https://api.jquery.com/removeProp/
Taleeb非常接近,但是,我建议编辑这一行。
$('input:checkbox').click(function () {
$(this).closest('tr').find('input:checkbox').prop('checked', false);
$(this).prop('checked', true);
});
相关文章:
- 聚合物铁形式验证至少选中一个复选框
- 复选框一次选中一个不在gridview中工作
- 复选框一次选中一个不起作用
- Javascript选中一个表中的所有复选框,该表的行具有样式显示标记
- 确保至少选中一个复选框
- 选中一个复选框后,使用html.checkbox自动禁用其他复选框
- 取消选中一个复选框时,如何启用所有复选框?使用javascript
- 如何在iframe窗口中只允许选中一个复选框
- 选中一个或多个复选框时启用/禁用按钮
- 只选中一个复选框,然后为选中的输入添加类
- 在一个页面中选中一个复选框 自动选择 在另一个页面中使用 PHP,JavaScript
- 如何在角度中仅选中一个复选框
- 当满足条件时,用jQuery选中一个框
- 如何通过默认angularjs选中一个复选框
- JavaScript 需要从复选框数组中选中一个复选框
- JavaScript 需要从复选框数组中选中一个复选框
- 选中或取消选中一个复选框时,获取所有选定复选框的 ID
- 只能选中一个复选框
- Javascript函数根据选择选项的值选中一个框
- 只允许以两种形式选中一个单选按钮