if(function()=== false){do this}

时间:2012-07-12 17:04:36

标签: javascript jquery if-statement

我正在尝试解决这个问题,我对javascript相对较新,所以:

function termos()给出真或假结果;

可能解决这个问题很简单,但无法解决。是否有可能做到这一点?我写这段代码只是为了举例说明我的怀疑

function termos() {
  if($('.terms').is(':checked')) {
    return true;
  } else {
    return false;
  }
}
我可以使用

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

这不起作用

3 个答案:

答案 0 :(得分:20)

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

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

所以你可以说:

if ( termos() ) {
  // when its true
} else {
 // when its false
}

答案 1 :(得分:1)

由于您正在使用类来设置jQuery对象,因此如果您有多个具有该类的项,则会产生相互矛盾的结果。我假设你的问题缺乏详细信息,可能就是这种情况。

设置复选框的id,以便正确选择元素。此外,最好设置父容器,以便jQuery不搜索整个DOM。

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

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


if(!termos()){
  alert('please agree with terms');
}

答案 2 :(得分:0)

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

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

if (termos() !== 1){
        $('.checky3').css('border','solid 1px red');
        return false;
}