使用IFFE时未定义的函数(立即调用的函数表达式)

时间:2017-03-04 17:52:55

标签: javascript jquery undefined-function

我有一个功能,我已经分配给一个变量,当我立即用IFFE发票时,我得到一个未定义的错误。

<script>
    "use strict";
    $(document).ready(function () {
        var enableBulkAction = function () {
            if ($("#frmProductManagement input:checkbox:checked").length > 0) {
                // any one is checked
                $('#ddlBulkAction').prop("enabled", "enabled");
            } else {
                // none is checked
                $('#ddlBulkAction').prop("disabled", "disabled");
            }
        }();


        $('#chkTableAll').click(function () {
            var checkedStatus = this.checked;
            $('#tblProductsManagements tbody tr').find('td:first :checkbox').each(function () {
                $(this).prop('checked', checkedStatus);
                enableBulkAction();
            });
        });
    });
</script>

enableBulkAction();虽然它应该在范围内,但它不是一个功能。有人知道我忘了做什么吗?

1 个答案:

答案 0 :(得分:2)

如果您希望enableBulkAction可供参考并且您想立即调用它,那么您需要做些什么来改变这一点:

var enableBulkAction = function () {
        if ($("#frmProductManagement input:checkbox:checked").length > 0) {
            // any one is checked
            $('#ddlBulkAction').prop("enabled", "enabled");
        } else {
            // none is checked
            $('#ddlBulkAction').prop("disabled", "disabled");
        }
    };
enableBulkAction();

脚本的其余部分可以保持原样。