如何取消选中的单选按钮

8 浏览
0 Comments

如何取消选中的单选按钮

这个问题已经有了答案

使用jQuery设置复选框的“选中”状态

问题在于这个解决方案只在Firefox中起作用。

$(':radio').on("change", function(event) {
  $(this).prop('checked', true);
});
$(':radio').on("click", function(event) {
  $(this).prop('checked', false);
});

在Chrome中,它不允许您选择任何东西。

http://jsfiddle.net/wuAWn/

当然,我可以使用变量并写出类似以下的内容:

var val = -1;
$(':radio').on("click", function() {
  if($(this).val() == val) {
    $(this).prop('checked', false);
    val = -1;
  }
  else val = $(this).val();
});

但我页面上将有几个单选按钮组,并且HTML内容是通过ajax加载的,所以我想为它们编写一个函数,而不是为每个单选按钮组定义变量并为每个单选按钮组编写相同的函数。

编辑:感谢您对复选框的帮助,但是要使复选框像单选按钮组一样工作,您需要编写其他的JavaScript代码,以在单击时取消所有其他具有相同名称的复选框,我已经有单选按钮CSS了,我只需添加类似look-like-checkbox的类并使其看起来像复选框,我使用Uniform库进行自定义外观,无论如何,这是我的怪异解决方案http://jsfiddle.net/wuAWn/9/

admin 更改状态以发布 2023年5月21日
0
0 Comments

单选按钮是必选项... 如果你想让它们不被选中,就用复选框,没必要麻烦并允许用户取消一个单选按钮的选择;删除 JQuery 使你可以从其中选一个。

0
0 Comments

这个简单的脚本允许你取消选中已经选中的单选框按钮。适用于所有启用 JavaScript 的浏览器。

var allRadios = document.getElementsByName('re');
var booRadio;
var x = 0;
for(x = 0; x < allRadios.length; x++){
  allRadios[x].onclick = function() {
    if(booRadio == this){
      this.checked = false;
      booRadio = null;
    } else {
      booRadio = this;
    }
  };
}




0