在jquery中验证单选按钮

时间:2014-06-12 13:43:11

标签: javascript jquery forms validation

我使用以下内容确保字段在jquery中发布之前不会为空:

if(this.field.value == "") {
  jQuery( ".page-error-message" ).remove();
  jQuery(".top").append(jQuery("field required"));
  jQuery('html, body').animate({ scrollTop: 0 }, 'slow');
   return;
}

我有一些需要选择的单选按钮,但是如果我说的话它似乎不起作用:

if(this.radiobutton.value == "no") {
  jQuery( ".page-error-message" ).remove();
  jQuery(".top").append(jQuery("field must be yes"));
  jQuery('html, body').animate({ scrollTop: 0 }, 'slow');
   return;
}

我做错了什么?

3 个答案:

答案 0 :(得分:1)

单选按钮有多个字段。你最好检查是否选中了no按钮。

例如

if(this.radiobutton.checked) {
  jQuery( ".page-error-message" ).remove();
  jQuery(".top").append(jQuery("field must be yes"));
  jQuery('html, body').animate({ scrollTop: 0 }, 'slow');
  return;
}

radiobutton是单选按钮,值为no。

答案 1 :(得分:0)

我认为你应该尝试检查是否有任何收音机被检查,如果检查了no然后验证它有什么价值,试试这个:

if($(':radio', this).prop(':checked') || $(':radio:checked', this).val() == "no") {
  jQuery( ".page-error-message" ).remove();
  //jQuery(".top").append(jQuery("field must be yes"));
  jQuery(".top").append("field must be yes");
  jQuery('html, body').animate({ scrollTop: 0 }, 'slow');
  return;
}

jQuery(".top").append(jQuery("field must be yes"));这对我来说似乎有点混乱,我想这应该是这样的:

jQuery(".top").append("field must be yes");

答案 2 :(得分:0)

试试这个。 在您的单选按钮上分配一个id示例“radio_button”并将其用于所有。

if($('#radio_button').is(':not(:checked)'))  {
  jQuery( ".page-error-message" ).remove();
  jQuery(".top").append(jQuery("field must be yes"));
  jQuery('html, body').animate({ scrollTop: 0 }, 'slow');
   return;
}

如果您有任何其他字段,您可以选择使用这样的选择器

if($('#radio_button [name="example"]').is(':not(:checked)'))  {
  jQuery( ".page-error-message" ).remove();
  jQuery(".top").append(jQuery("field must be yes"));
  jQuery('html, body').animate({ scrollTop: 0 }, 'slow');
   return;
}