【问题标题】:Radiobutton .val() returns not null value even if none of radiobuttons is selected即使没有选择任何单选按钮,单选按钮 .val() 也不会返回空值
【发布时间】:2013-10-28 21:01:19
【问题描述】:

我有 3 组单选按钮,它们都正确命名。在submit() 我想检查用户是否从每个组中选择了选项。

我就是这样做的:

 $('.form').submit(function(){
      var selectedUser = $('input[name="selectedUser"]').val();
      var searchType = $('input[name="shareType"]').val();
      var selectedSearch = $('input[name="selectedSearch"]').val();
      console.log(selectedUser, searchType, selectedSearch);

      return false; //for testing purposes
    });

问题是即使没有选择任何单选按钮,三个变量中的每一个都返回非空值。

可能很重要的事实:每个组包含超过 1 个单选按钮,每个单选按钮都有不同的值。

【问题讨论】:

标签: javascript jquery forms validation


【解决方案1】:

您需要测试是否选择了收音机,您可以使用:checked 伪选择器:

  var selectedUser = $('input[name="selectedUser"]:checked').val();
  var searchType = $('input[name="shareType"]:checked').val();
  var selectedSearch = $('input[name="selectedSearch"]:checked').val();
  if(selectedUser || searchType || selectedSearch) {
      // At least one selected
  }
  else {
      // None selected
      return false;
  }

这是一个fiddle 演示。

【讨论】:

  • 我认为单选按钮val() 的工作方式与<input type='select'/> 相同。谢谢!
猜你喜欢
  • 1970-01-01
  • 2017-07-24
  • 2019-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多