从用户界面的角度来看,使用具有取消选中功能的一组单选按钮是否比使用一组互斥复选框更好?
更新:
我没有预料到会有这样的负面反应。也许如果我给出一个更接近实际使用情况的例子会更有帮助。
我有一个GridView,其中包含大量数据绑定的内容。用户可以选择其中一行作为“主要”行,但这不是必需的。新的例子:
$(":radio").click(function() {
if (this.previous) {
this.checked = false;
}
this.previous = this.checked;
});
$(":checkbox").click(function() {
$(":checkbox").not(this).prop("checked", false);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Choose a primary city and state (if applicable).<br />
<table><tr><td>
<table border="1" >
<tr><td>Primary</td><td>City</td><td>State</td></tr>
<tr><td><input type="radio" name="radio" /></td><td>Pahokee</td><td>Flordia</td></tr>
<tr><td><input type="radio" name="radio" /></td><td>Palatka</td><td>Flordia</td></tr>
<tr><td><input type="radio" name="radio" /></td><td>Palm Bay</td><td>Flordia</td></tr>
<tr><td><input type="radio" name="radio" /></td><td>Palm Beach Gardens</td><td>Flordia</td></tr></table></td><td> </td><td><table border="1" >
<tr><td>Primary</td><td>City</td><td>State</td></tr>
<tr><td><input type="checkbox" /></td><td>Pahokee</td><td>Flordia</td></tr>
<tr><td><input type="checkbox" /></td><td>Palatka</td><td>Flordia</td></tr>
<tr><td><input type="checkbox" /></td><td>Palm Bay</td><td>Flordia</td></tr>
<tr><td><input type="checkbox" /></td><td>Palm Beach Gardens</td><td>Flordia</td></tr>
</table></td><tr>
</table>
我应该添加一个额外的控件来取消“主要”选项,还是只扩展 CheckBox 或 RadioButton 的功能?
如果您认为需要额外的 RadioButton,那么它应该放在哪里?标题中吗?
顺便说一句,由于 ASP.Net 混淆 GroupName,似乎需要使用 JavaScript 才能使 GridView 中的 RadioButtons 工作。
更新2:
另请参见 ASP.NET AJAX 扩展程序 MutuallyExclusiveCheckBox