3

我正在尝试解决这个问题,我对 javascript 比较陌生,所以:

函数 termos() 给出真或假结果;

可能对此的解决方案很简单,但无法解决。是否有可能做到这一点?我写这段代码只是为了说明我的疑问

function termos() {
  if($('.terms').is(':checked')) {
    return true;
  } else {
    return false;
  }
}

我可以用吗

} else if(termos() === false) {
  alert('please agree with terms');
  return false;
}

这不起作用

4

3 回答 3

20

据我了解,您想查看 termos() 是返回 true 还是 false ,在这种情况下,当它返回 false 时,您想查看一段代码。

您可以使用虚假/真实评估http://11heavens.com/falsy-and-truthy-in-javascript

所以你可以说:

if ( termos() ) {
  // when its true
} else {
 // when its false
}
于 2012-07-12T17:09:24.350 回答
1

由于您正在使用一个类来设置 jQuery 对象,因此如果该类有多个项目,您将得到相互冲突的结果。我假设您的问题缺乏细节,这可能是这种情况。

设置id复选框,以便您可以正确选择元素。另外,最好设置父容器,这样 jQuery 就不会搜索整个 DOM。

此外,您可以像这样减少代码:

function termos(){
  return $('#Agree',"#ParentContainer").is(':checked');
}


if(!termos()){
  alert('please agree with terms');
}
于 2012-07-12T17:24:26.037 回答
1

这解决了我的问题。感谢谁试图提供帮助。

function termos(){
        if ($('.checky3').is(':checked')){
            return 1;
        }
    }

if (termos() !== 1){
        $('.checky3').css('border','solid 1px red');
        return false;
}
于 2012-07-12T18:47:22.063 回答