【问题标题】:Validation of at least one set of radio group验证至少一组无线电组
【发布时间】:2014-04-26 03:54:19
【问题描述】:

我有两组单选按钮

<input type="radio" name="rb1" value="a">
<input type="radio" name="rb1" value="b">
<input type="radio" name="rb1" value="c">


<input type="radio" name="rb2" value="e">
<input type="radio" name="rb2" value="f">
<input type="radio" name="rb2" value="g">

现在,用户: 1. 必须从任一无线电组中选择至少一个值 2.可以从两组中的每一个中选择一个值

我需要使用 javascript 进行验证。我可以验证一个或两个组,但如何同时检查两个组?

【问题讨论】:

  • 必须是单选按钮吗?不利的一面是,一旦您从组中选择了一个单选按钮,您就不能再选择“无”了。 (标准单选按钮行为)。根据您的描述,似乎没有一个对一组或另一组有效。
  • 没错,我们有两个不同的组。但是我仍然需要检查至少选择了一个,它可以来自组 rb1 或 rb2 或每个组中的一个收音机。有意义吗?

标签: javascript jquery


【解决方案1】:

你想做这样的事情......

$('#btnValidate').click(function() {
    var v1 = $('input:radio[name="rb1"]:checked').val();
    var v2 = $('input:radio[name="rb2"]:checked').val();

    if (!v1 && !v2 ) {
        alert('not valid');
    } else {
        alert('valid');
    }
});

在这里工作 jsfiddle...

http://jsfiddle.net/CEJLt/

【讨论】:

  • 完美,谢谢。现在我在页面/警报上不能有对话框,是否可以显示此错误,发布表单提交(标记为红色?)
  • 当然。我只是以警报为例。这是一个更新的 jsfiddle,它把它扔进一个 div...jsfiddle.net/CEJLt/1
  • 不过有一个问题,在我检查单选按钮后验证错误并没有消失,而且如果我刷新页面,readio 按钮仍然处于选中状态。我们可以把它作为条件要求吗?
  • 如果您希望错误在有效时消失,只需将 .html('valid') 设置为 .html('')。
  • 如果您希望在单选按钮更改时触发验证,请使用该事件... $('input:radio').change(function(){ 这里是验证逻辑。} );
猜你喜欢
  • 2017-04-06
  • 2018-01-27
  • 2022-12-08
  • 1970-01-01
  • 2012-11-14
  • 1970-01-01
  • 1970-01-01
  • 2018-04-01
  • 1970-01-01
相关资源
最近更新 更多