JavaScript/jQuery - "$ is not defined- $ function()"错误

Cod*_*s90 38 javascript jquery

我试图运行JavaScript/jQuery函数,Firebug得到错误:

$ is not defined $(function()".
Run Code Online (Sandbox Code Playgroud)

JavaScript代码放在一个名为core.js和引用的文件中index.php.是什么导致这个错误?

JavaScript的:

<script type="text/javascript">
    var formObject = {
        run : function(obj) {
            if (obj.val() === '') {
                obj.nextAll('.update').html('<option value="">----</option>').attr('disabled', true);
            } else {
                var id = obj.attr('id');
                var v = obj.val();
                jQuery.getJSON('/mod/update.php', { id : id, value : v }, function(data) {
                    if (!data.error) {
                        obj.next('.update').html(data.list).removeAttr('disabled');
                    } else {
                        obj.nextAll('.update').html('<option value="">----</option>').attr('disabled', true);
                    }
                });
            }
        }
    };

    $(function() {

        $('.update').live('change', function() {
            formObject.run($(this));
        });

    });
</script>
Run Code Online (Sandbox Code Playgroud)

PHP/HTML

<html>
    <select name="main" id="category" class="update">
    <option value="">Select one</option>

        <? if (!empty($list)) { ?>
            <? foreach($list as $row) { ?>
                <option value="<?php echo $row['id']; ?>">
                    <? echo $row['name']; ?>
                </option>

            <? } ?>
        <? } ?>

    </select>
</html>
Run Code Online (Sandbox Code Playgroud)

Ket*_*tan 62

您不能让jQuery可用于您的脚本.

将其添加到您的文件顶部:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

此问题与未正确添加到PHP/JSP/ASP文件的jQuery/JavaScript文件有关.这样就可以从源代码中获取jQuery代码.你可以下载它并在服务器上本地引用它会更快.

或者任何一个都可以直接将其链接到jQuery或GoogleCDN或MicrosoftCDN.

如何将jQuery添加到您的网页


Fag*_*ack 6

尝试:

(function($) {
    $(function() {
        $('.update').live('change', function() {
            formObject.run($(this));
        });
    });
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

通过使用这种方式,您可以确保全局变量jQuery将绑定到闭包内的"$".只需插入以下命令即可确保jQuery正确加载到页面中:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

将" http://code.jquery.com/jquery-1.7.1.min.js " 替换为jQuery源在页面上下文中所在的路径.