1

我有 2 个单选按钮,如果两者都未选中,我想进行验证。我确定我的语法在某个地方是错误的,如果有更好的方法可以做到这一点,我将不胜感激。谢谢。

我的 js 小提琴链接:[http://jsfiddle.net/squirc77/THQj2/18/]

4

5 回答 5

1

你错过了 (

 if( (  !$('#radio1').attr('checked')===true) && 
 ----^                      (!$('#radio2').attr('checked'))===true) { 

你还必须添加 return false

$('#validate').show();
 return false;

最终代码

$('#submit').click(function(){
    if((!$('#radio1').attr('checked')===true) && (!$('#radio2').attr
                                                       ('checked'))===true) { 
    $('#validate').show();
     return false;
    }else{
       $('#validate').hide();
    }

});

更新小提琴

于 2013-07-02T13:45:19.177 回答
1

你让它看起来很复杂 - 你可以这样做

$('#submit').click(function (e) {
    e.preventDefault();
    if (!$('#radio1').prop('checked') && !$('#radio2').prop('checked')) {
        $('#validate').show();
    }
});

演示-----> http://jsfiddle.net/THQj2/33/

于 2013-07-02T13:46:51.700 回答
0

您的语法错误(缺少()。这是正确语法的小提琴

于 2013-07-02T13:47:53.433 回答
0

在第一个 true .. 之后有一个额外的括号应该是这样的:

$('#submit').click(function(){
    if(!$('#radio1').attr('checked')===true && (!$('#radio2').attr('checked'))===true) { 
        $('#validate').show();
    }  
});

在这里更新了 jsfiddle:http: //jsfiddle.net/THQj2/31/

于 2013-07-02T13:48:09.583 回答
0

正确的!

$('#submit').click(function(){
    if((!$('#radio1').attr('checked')===true) && (!$('#radio2').attr('checked'))===true) { 
  $('#validate').show();
}

});
于 2013-07-02T13:55:44.140 回答