javascript - 取消选中单选按钮是有问题的

标签 javascript jquery forms radio-button

看看这个 fiddle :http://jsfiddle.net/5rmEe/

目标是当用户单击单选按钮(如果已选中)时取消选中它,如果未选中则选中它

但是似乎点击事件触发了两次,使得检查/取消检查非常错误......

我尝试了以下组合

e.stopPropagation();
e.preventDefault();

命令,但每个命令都会导致不同的错误......

我将如何实现这个目标并相应地修复该代码?

最佳答案

我同意其他人的观点,复选框会更好。

不过,话虽如此,这里有一些可能对您有用的东西。首先,单选按钮上的选中属性标记其已选中。因此,要删除检查,您必须删除该属性。但是,当单击单选按钮时,它想要将属性放回去。

我的解决方案实际上更像是一种黑客攻击。我正在添加另一个属性,并将其用作标志来确定是否删除或添加选中的属性。 HTH

$('input[type=radio]').each(function(){
  var input = $(this);
  input.click(function(e){
      if(input.attr('cval')==='1'){
          input.attr('cval', '0');
          input.removeAttr('checked');
      }
      else{
          input.attr('cval', '1');
          input.attr('checked', 'checked');
      }
  });
});​

关于javascript - 取消选中单选按钮是有问题的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13056825/

相关文章:

jquery - Bootstrap slider 更改值处理程序

javascript - 对话框中的 Angular 形式

javascript - 添加图像 URL 表单 - 使用 AJAX 预览图像

JavaScript:为什么 [object Array] 不能使用 for( i of array) 进行迭代

javascript - 搜索引擎会抓取 javascript 生成的关键字和描述元标记吗?

javascript - 根据另一个数组的值获取数据

javascript - 引用错误 : Can't find variable: jQuery with Poltergeist/Capybara

javascript - 使用 CSS/JS/jQuery flex 图像效果?

c# - 为什么submit类型的按钮会触发父组件中的OnInit

javascript - AJAX 返回嵌入 JSON 的 html 页面