选择所有功能在jQuery中无法正常工作

时间:2018-07-10 05:32:10

标签: jquery asp.net-mvc-4

我有一个搜索栏和一个在其下的表格,其中有一个全选选项。 “全选”功能工作正常,但是当我在搜索栏中搜索某项然后单击“全选”按钮时,什么也没有发生。我不知道为什么会这样吗?

这是我的“全选”功能代码

    function selectUnselectchkAllProcessedOrders() {
    debugger
    $("#chkAllProcessedOrders").click(function () {
        var checked_status = this.checked;
        $("input[name='fulfillmentOrderId']").each(function () {
            this.checked = checked_status;

            if (checked_status)
                $(this).parent().parent().addClass('greanBackGround');
            else
                $(this).parent().parent().removeClass('greanBackGround');
        });

    });
}

当我单击搜索按钮后单击“全选”复选框时,我可以看到使用调试器,当调用selectUnselectchkAllProcessedOrders()函数时,未定义this.checked。

这是cshtml

  <div>
        <table>
            <tr>
                <td>
                    <label>Order Number</label></td>
                <td>
                    <input type="text" id="TextBoxFullFillmentOrderNumber" 
/></td>
                <td>
                    <input type="submit" name="ButtonSearch" value="Search" 
/>
                    <input type="hidden" name="posearchorderno" 
id="posearchorderno" />
                    <input type="hidden" name="search" value="some" />
                </td>

            </tr>
            <tr></tr>
        </table>
    </div>
    }

1 个答案:

答案 0 :(得分:1)

尝试以下操作:您正在尝试为动态创建的复选框绑定点击事件,因此请使用.on,如下所示

$(document).on("click","#chkAllProcessedOrders", function () {
    var checked_status = this.checked;
    $("input[name='fulfillmentOrderId']").each(function () {
        this.checked = checked_status;

        if (checked_status)
            $(this).parent().parent().addClass('greanBackGround');
        else
            $(this).parent().parent().removeClass('greanBackGround');
    });

});