如何指定多个&&和|| javascript中if语句中的条件?

时间:2016-05-17 06:46:49

标签: javascript jquery

我有一个表格,有三个块面书,推特和pinterest。 我添加了一个条件,只有在选择了其中一个块时才允许提交表单。 为此我做了:

if ($("#fb").prop("checked") || $("#tw").prop("checked")||
  $("#pin").prop("checked")) {
    ...
    ...
}
if ($("#fb").prop("checked") || $("#tw").prop("checked")||
  $("#pin").prop("checked")) {
    ...
    ...
}

现在我想添加另一个条件,它将检查twitter块内部以检查文本字段是否少于140个字符。 为此,我添加了一个条件

if ($("#fb").prop("checked") || $("#tw").prop("checked") && $(#"tw_text").val().length <= 140||
  $("#pin").prop("checked")) {
    ...
    ...
}

但这有一些错误,例如如果选择了facebook并且tw_text有超过140个字符,那么表单也会被提交。

请指导我添加条件的正确方法,以防止提交表单。

3 个答案:

答案 0 :(得分:4)

您需要使用括号对它们进行分组(逻辑OR ||的{​​{3}}小于逻辑AND &&):

if ($("#fb").prop("checked") || 
    ($("#tw").prop("checked") && $(#"tw_text").val().length <= 140) ||
    $("#pin").prop("checked")) {
...

答案 1 :(得分:0)

从我的描述中我理解的是,只有对于Twitter,您需要一个必须满足的条件。简单地使用括号应该在这里帮助你。希望以下有助于:     if ($("#fb").prop("checked") || ($("#tw").prop("checked") && $(#"tw_text").val().length <= 140) || $("#pin").prop("checked")) { ... ... }

答案 2 :(得分:0)

解决方案: 我用这种方式解决了这个问题。

if($("#fb").prop("checked") || $("#tw").prop("checked") || $("#pin").prop("checked")) { 
    if ($("#tw").prop("checked")) { 
        if($('#tw_text').val().length <= 140) { 
           ...submit form... 
        } 
        else { 
            .... show error for twitter text length.... 
        } 
    } 
    else { 
        ...submit form... 
    } 
} 
else { 
    ... show error message to select minimum one of the options between fb,tw and pinterest ... 
}