JavaScript/jQuery - “$ n'est pas défini, la fonction $()” erreur
Je suis en train d'exécuter un script JavaScript/jQuery fonction et Firebug obtient l'erreur:
$ is not defined $(function()".
Le code JavaScript est placé à l'intérieur d'un fichier appelé core.js
et référencé par index.php
. Quelles sont les causes de cette erreur?
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>
- Avez-vous des jQuery référencé?
- Euh.. Vous mettez
<select>
directement à l'intérieur de<html>
? S'il vous plaît dites-moi ce n'est pas votre vrai balisage 🙁 - pas de mec lol n'est pas mon vrai marque vers le haut. C'est seulement un exemple.
Vous devez vous connecter pour publier un commentaire.
Vous ne devez pas avoir fait de jQuery disponibles pour votre script.
Ajoutez à cela le haut de votre fichier:
Cette question est liée à la jQuery/JavaScript fichier ne s'ajoute pas au PHP/JSP/ASP fichier correctement. Ce sort et obtient le jQuery, le code de la source. Vous pouvez télécharger et de le référencer localement sur le serveur qui serait plus rapide.
Ou soit on peut le relier directement à jQuery ou GoogleCDN ou MicrosoftCDN.
Comment ajouter jQuery pour votre page web
GET
message; pour moi, c'était simple, stupide saut de ligne qui a été ajoutée dans le milieu de la<script>..jquery..</script>
ligne.Essayer:
En utilisant cette façon de vous assurer de la variable globale jQuery sera lié à l' "$" à l'intérieur de la clôture. Assurez-vous simplement que jQuery est chargé correctement dans la page en insérant:
Remplacer "http://code.jquery.com/jquery-1.7.1.min.js" vers le chemin où votre jQuery source est située dans le contexte de la page.
Vous devez inclure la librairie jQuery sur votre page.
Vous pouvez télécharger jQuery ici et l'héberger vous-même ou vous pouvez lier à partir d'une source externe de Google ou Microsoft.
Google:
De Microsoft:
Cela peut être utile à quelqu'un:
Si vous avez déjà jQuery, mais toujours ce message d'erreur, vérifiez que vous inclure jQuery avant le js qui l'utilise, spécialement si vous utilisez @RenderBody() dans ASP.NET C#
Vous devez inclure jQuery avant le @RenderBody() si vous incluez le js à l'intérieur de l'avis que @RenderBody() appelle.
Inclure jquery.js et si elle est incluse, charger avant tout autre code JavaScript.
J'ai résolu comme suit.