即使没有选择任何单选按钮,单选按钮.val()也不返回空值

时间:2013-10-28 12:59:02

标签: javascript jquery forms validation

我有3组radiobuttons,所有这些都被正确命名。在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个以上的单选按钮,每个单选按钮都有不同的值。

1 个答案:

答案 0 :(得分:2)

您需要测试是否选择了收音机,您可以使用: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演示。