JavaScript / jQuery - ошибка $ не определена - $ function () »

Я пытаюсь запустить функцию JavaScript / jQuery иподжигатель получает ошибку:

$ is not defined $(function()".

Код 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>

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>
 Andreas Wong28 мая 2012 г., 05:51
Гм .. Вы кладете<select> прямо внутри<html>? Пожалуйста, скажите мне, что это не ваша настоящая разметка :(
 Sampson28 мая 2012 г., 05:51
У вас есть ссылки на jQuery?
 CodingWonders9028 мая 2012 г., 06:02
@NiftyDude нет, чувак, лол не моя настоящая оценка. Это только пример.

Ответы на вопрос(6)

Пытаться:

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

Используя этот способ, вы гарантируете, что глобальная переменная jQuery будет связана с & quot; $ & quot; внутри закрытия. Просто убедитесь, что jQuery правильно загружен на страницу, вставив:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>

Заменить & quot;http://code.jquery.com/jquery-1.7.1.min.js& Quot; к пути, где ваш источник jQuery находится в контексте страницы.

Вы можетескачать JQuery здесь и разместите его самостоятельно, или вы можете создать ссылку из внешнего источника, такого как Google или Microsoft.

Google & APOS; s:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>

Microsoft & APOS; s:

<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.6.2.min.js">

Решение Вопроса

Добавьте это в начало вашего файла:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>

Эта проблема связана с тем, что файл jQuery / JavaScript неправильно добавлен в файл PHP / JSP / ASP. Это выходит и получает код JQuery из источника. Вы можете скачать это и ссылаться на него локально на сервере, что будет быстрее.

Или можно напрямую связать его с jQuery, GoogleCDN или MicrosoftCDN.

Как добавить JQuery на свою веб-страницу

 19 сент. 2016 г., 10:43
У меня есть jQuery CDN, добавленный к моему HTML, и все еще с этой ошибкой. Есть идеи?
 31 авг. 2018 г., 03:37
@ Blairg23 очистите весь кеш в браузере и проверьте его.
 23 дек. 2015 г., 23:10
Ага! проверьте консоль ошибок на наличиеGET сообщение; для меня это был простой, глупый перевод строки, который был добавлен в середине<script>..jquery..</script> линия.

Если вы уже получили jQuery, но все еще получаете эту ошибку, убедитесь, что вы включили jQuery перед js, который его использует, особенно если вы используете @RenderBody () в ASP.NET C #

Вы должны включить jQuery перед @RenderBody (), если вы включаете js в представление, которое вызывает @RenderBody ().

import $ from 'jquery';

(function () {
    // ... code let script = $(..)
})();

если он включен, загрузите его перед любым другим кодом JavaScript.

Ваш ответ на вопрос