jQuery multi part if语句不起作用

时间:2014-10-22 20:31:05

标签: jquery html if-statement jquery-mobile-flipswitch

我正在使用jQuery Mobile表单,当用户尝试提交表单时,我想检查2个输入的设置。第一个输入是jquery mobile flipswitch,第二个是复选框。

如果我的flipswitch值为1并且我的复选框被选中,我想抛出错误。下面的jQuery代码对我不起作用。我很确定我在正确的轨道上,但我不知道我在这里做错了什么。有人有什么想法吗?

我的HTML

<select name="flip-min" id="flip-min" data-role="slider">
    <option id="filled" value="1">Filled</option>
    <option id="notFilled" value="0">Un-Filled</option>
</select>

<input type="checkbox" name="unable" id="unable"/>
<label for="unable">label text</label>

<input type="button" name="submit" value="submit">

我的jQuery

$("input[name=submit]").on("click", function(){
    if($('#unable').is(':checked') && $('#flip-min').val() == 1){
        alert "error message";
        exit;
    }
});

3 个答案:

答案 0 :(得分:1)

好吧,你的代码似乎有些问题。首先,警报功能周围没有括号。这肯定会导致错误。其次,你有“退出”;在if语句结束时,实际上,你想使用“return;”。以下是您的代码应该是什么样的:

$("input[name=submit]").on("click", function(){
    if($('#unable').is(':checked') && $('#flip-min').val() == 1){
        alert("error message");
        return;
    }
});

答案 1 :(得分:0)

'alert'是一个函数,所以你必须调用它来设置括号内的参数,如下所示。

alert("error message");

然后退出你必须把'return;'

答案 2 :(得分:0)

@Austin,您的代码是正确但警告语法不正确!!!

更正语法

alert ("I have an error...!");

您还可以使用浏览器的 console.log +开发工具(F12)来监控您的消息和对象值。

更正代码+ console.log语句

$("input[name=submit]").on("click", function(){
    if($('#unable').is(':checked') && $('#flip-min').val() == 1){
        console.log('I have an error...!');
        alert ("I have an error...!");
    }
});

<强>结果 enter image description here

我在答案中使用了Firefox + Firebug;)