Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.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
Asp.net 不可勾选单选按钮与专用复选框_Asp.net_Html_Gridview_User Interface - Fatal编程技术网

Asp.net 不可勾选单选按钮与专用复选框

Asp.net 不可勾选单选按钮与专用复选框,asp.net,html,gridview,user-interface,Asp.net,Html,Gridview,User Interface,从用户界面的角度来看,最好是有一组单选按钮,增加了可以取消选中的功能,还是有一组排他复选框,这意味着一次只能选中一个 更新: 我没想到会有如此负面的反应。如果我举一个更接近它的使用方式的例子,也许会有所帮助 我有一个满是数据绑定内容的GridView。用户可以选择其中一行作为“主”,但这不是必需的。新例子: $(“:收音机”)。单击(函数(){ 如果(本前){ 此项检查=错误; } this.previous=this.checked; }); $(“:复选框”)。单击(函数(){ $(“:c

从用户界面的角度来看,最好是有一组单选按钮,增加了可以取消选中的功能,还是有一组排他复选框,这意味着一次只能选中一个

更新:

我没想到会有如此负面的反应。如果我举一个更接近它的使用方式的例子,也许会有所帮助

我有一个满是数据绑定内容的GridView。用户可以选择其中一行作为“主”,但这不是必需的。新例子:

$(“:收音机”)。单击(函数(){
如果(本前){
此项检查=错误;
}
this.previous=this.checked;
});
$(“:复选框”)。单击(函数(){
$(“:checkbox”).not(this).prop(“checked”,false);
});

选择一个主要城市和州(如果适用)。
一元酸 帕霍凯夫洛迪亚 腭花 棕榈花 棕榈海滩花园酒店 一元酸 帕霍凯夫洛迪亚 腭花 棕榈花 棕榈海滩花园酒店
一定要使用单选按钮,因为它们是用于此目的的。为什么要用复选框来迷惑用户,并通过编写代码来维护独占行为来进一步麻烦自己呢?

虽然我不同意更改
收音机
复选框
控件的预期功能,但我也有需要更改的情况

如果您使用Javascript执行此操作,那么如果您的用户禁用了JS,那么它将非常失败


外观
CSS属性是您的朋友。

正如其他人所说,您不应该更改本机表单元素的预期行为。我会使用一组单选按钮,包括一个“清除选择”按钮。这就明确了选择是可清除的,并提供了一种显而易见的方法

另一种方法是“发明”一种新的控制方式——可能是基于隐藏的单选按钮,可能是看起来像一组“开关”的东西。不过,这是一个非常直观的解决方案,并且依赖于javascript,因此它可能不是最可靠的选择

以下是两种解决方案的示例:


这两种解决方案目前都依赖于javascript—您可以通过“清除”按钮将表单提供给服务器,并使用清除的单选按钮集进行响应,从而轻松地为第一个选项提供一个无JS的回退。

如果用户只能从一个选项集中选择一个选项,请使用单选按钮。如果用户可以选择任意数量的选项,请使用复选框。请注意,“只有一个选项”的定义可以包括一个单选按钮,上面写着“无”


自从GUI发明以来,这几乎是所有平台上的标准。偏离这种做法只会让用户感到困惑。

单选按钮的问题是,能够取消选中是不正常的,因此用户可能不知道他们有这个选项。对于复选框,取消选中是一种预期行为。我个人也会坚持使用单选按钮。也许你可以为用户添加说明,告诉他们如果他们不想回答问题,并且单击了一个单选按钮,再次单击它以删除所选内容。此外,在这两种情况下都会有代码。对于复选框,必须取消选中其他复选框。对于单选按钮,它必须自己取消选中。@荷马:我建议使用一个额外的单选按钮来表示“未选中”,例如“N/A”或“以上无一项”。颠倒这两个元素的功能有什么意义?它们有非常具体的用法,你可能会通过改变它们来迷惑人们。我要说的是,两者都是同样的“坏习惯”。您的示例首先在控件的选择方面存在一些问题-您是否熟悉
元素和
for=“”
属性,或者你的例子只是为了速度而忽略了它们?我认为大家的共识是,你应该保持单选按钮功能不变——或者更确切地说,你不应该依赖用户发现他们可以做一些非标准的事情来完成它。在您的示例中,与其说该功能有害,不如说它不可发现。这里是您示例的一个修改版本,带有“不适用”选项,以及一些柔和的样式,以突出这两个集合之间的差异。