2009-04-22 8 views
17

J'ai une selectbox avec des périodes de mois dedans.

Voici mon code:

$(function(){ 
         $("#ppsub_ppterm_id").change(function(){ 
             var term = this.options[this.selectedIndex].text; 
             if(term == "Eenmalig"){ 
               $(".idealtd").show(); 
             }else{ 
               $(".idealtd").hide(); 
               //$("#ppsub_amount option:selected").val('anders'); 
             } 
         }); 
     }); 
<select name="ppsub_ppterm_id" class="ppsub_ppterm_id" 
id="ppsub_ppterm_id" style="width: 100px; font-size: 11px;"> 
               <option value="M">Maand</option> 
               <option value="K">Kwartaal</option> 
               <option value="H">Halfjaar</option> 
               <option value="J">Jaar</option> 
               <option selected value="E">Eenmalig</option> 
             </select> 

Mais quand je charge ma page i STAIGHT loin obtenir une erreur:

$ ("# ppsub_ppterm_id") est nul

Ligne 17

Des idées?

Répondre

36

Des sons comme JQuery ne se chargent pas correctement. Quelle source/version utilisez-vous?

Sinon, il peut s'agir d'une collision d'espace de noms, essayez donc d'utiliser jQuery explicitement au lieu de $. Si cela fonctionne, vous pouvez utiliser noConflict pour vous assurer que l'autre code qui utilise $ ne se casse pas.

+0

sanders

+0

Merci, même problème ici avec les outils de moo –

+1

MERCI! Je tirais mes cheveux, essayant de lancer quelques jquery pour éditer un formulaire sur un site web dont je ne pouvais pas contrôler certains champs parce que c'était un disposition précuite. pour une raison quelconque, $ retournait null, mais jQuery fonctionnait parfaitement. MERCI! –

0

Assurez-vous que vous utilisez votre code jQuery après que le document est chargé:

$(document).ready(function() { /* put your stuff here */ }); 

Assurez-vous également que vous avez pas d'autres contrôles avec l'id « ppsub_ppterm_id » sur votre page HTML.

Ce sont les premières choses que je vérifierais.

+4

$ (function() est raccourci $ (document) .ready (function() –

+0

Oh, doux - bon à savoir –

3

Même si jQuery ne pouvait pas trouver l'élément, il ne serait pas null - ce serait un objet jQuery vide.

Etes-vous sûr que jQuery est chargé? Est-il possible qu'une autre bibliothèque JavaScript que vous utilisez provoque des conflits?

2

vous avez « ppsub_ppterm_id » en tant que classe, nom, id etc ...

Vous devez choisir un et sélectionnez dessus. Il n'y a pas besoin d'ID, NOM, CLASSE à tous avoir les mêmes valeurs.

Vous êtes probablement confondre avec jQuery.

<a id="ppsub_ppterm_id"> = $("#ppsub_ppterm_id") 

<a class="ppsub_ppterm_id"> = $(".ppsub_ppterm_id") 

<a name="ppsub_ppterm_id"> = $("*[name=ppsub_ppterm_id]") 

Choisissez un chemin et allez-y, mais enlevez tous ces attributs redondants.

+1

"Vous êtes probablement en train de confondre jQuery." ;-) – sanders

5

Chane '$' par jQuery par exemple:

$ ("# myId") -> jQuery ("# myId")

Il fonctionne

Questions connexes