Jquery .click()不会触发事件

时间:2014-11-05 18:28:22

标签: jquery html jquery-ui

我正在尝试将条件语句添加到.click函数。

$(document).ready(function () {
    function runEffect() {
        var selectedEffect = "blind";
        var form = $("#forms").val();
        if (form == "Equipment") {
            $("#effect2").toggle(selectedEffect, 500);
        } else {
            $("#effect").toggle(selectedEffect, 500);
        }
    };
    $("#button").click(function () {
        runEffect();
    });
});

HTML部分:

<select  name="inquiryOptions" id = "forms">
        <option value="" selected></option> 
        <option value="Equipment">Equipment Requested to Site</option>
        <option value="Equipment Return Request">Equipment Return Request</option>
        <option value="Equipment Forwarding Site to Site Request">Equipment Forwarding Site to Site Request</option>
        <option value="Other Move Request">Other Move Request</option>
</select>
<button id="button" class="ui-state-default ui-corner-all">Next</button>

<div id="effect" class="ui-widget-content ui-corner-all" style="display:none">
<form action="#" method ="POST" id ="mainForm_3">

...
 </form>
</div>

效果二完全相同但表格中有不同的字段...... 非常感谢您的反馈,谢谢您的时间。

1 个答案:

答案 0 :(得分:1)

我会将你的功能从准备好的文件中删除,然后使用.on将你的事件处理程序绑定到你的选择器:

看看jquery api中的toggle(),因为你没有以正确的方式使用它:http://api.jquery.com/toggle/

你也说要切换#effect&amp;您的网页上不存在#effect2。看下面的小提琴,你会看到切换的作用。

function runEffect() {   
    var selectedEffect = "blind";
    var form = $("#forms").val();

    if (form == "Equipment") {
        console.log('Equipment=true');
        $("#effect2").toggle();
    } else {
        console.log('Equipment=false');
        $("#effect").toggle();
    }
}

$(document).ready(function () {
    $("#button").on('click', function () {
        runEffect();
    });
});

现在你只需要定义你的selectedEffect。

这是一个帮助你的小提琴:http://jsfiddle.net/ju9qz4vd/3/