2010-07-01 6 views
0

Je ne peux pas cibler un élément dans jQuery.jQuery: problème d'identification ciblée

Premier exemple qui fonctionne:

$(document).ready(function() 
{ 
    $('#Models').hide(); 
}); 

Deuxième exemple qui échoue:

$(document).ready(function() 
    { 
     $('#Make').bind('change',function() 
     { 
      $('#Models').hide();   
     }); 
    }); 

Dans ce cas, les "#Models" est cache pas du tout. Je ne trouve pas de bonne solution. Y a-t-il un problème de portée?

Merci pour toute aide ou n'importe quel indice!

Ceci est une partie de mon code:

<div class="search-row"> 
     <div class="search-flag"> 
     </div> 
     <select id="Make" name="Make"> 
      <option value="">Marque</option> 
      <? 
      $marques = Marque::getList(); 
      foreach($marques as $m) { 
      ?> 
       <option value="<?=$m?>"><?=$m?></option> 
      <? } ?> 
     </select> 
    </div> 
    <br class="clear" /> 
    <div class="search-row"> 
     <div class="search-flag"> 
     </div> 
     <script type='text/javascript'> 
     $(document).ready(function() 
     { 
      $('#Make').change(function() 
      { 
       alert("test"); 
       $('#Models').hide(); 
      });   
     }); 
     </script> 

     <select name="Models_name" id="Models"> 
      <option value="all"> 
       All 
      </option> 
     </select> 
    </div> 

(je ne l'ai un identifiant appelé « modèles » dans tout mon code)

+2

À quoi ressemble votre HTML? –

+1

Apparaît pour fonctionner correctement. Vérifiez le violon: http://jsfiddle.net/HUwka/ – Jamiec

+0

Peut-il être que l'événement 'change' n'est pas déclenché? essayez de remplacer $ ('# Models'). hide(); 'par un' alert ('hi') 'et vérifiez que l'alerte apparaît – Iacopo

Répondre

0

On dirait que le gestionnaire de changement de #make est jamais déclenché. Quel type d'élément est #Make?

+3

Cela aurait dû être signalé en tant que commentaire. – GenericTypeTea

+0

#Make est un élément utilisant l'ID 'Modèles'? – xil3

+0

Non Je n'ai qu'un seul identifiant "Models". – Boun

0

Peut-il s'agir d'un problème de mise en cache? Votre code fonctionne bien ici ... Essayez de vérifier la version html actuelle, en inspectant sa source ...

+0

En tant que dernière ressource, si ce n'est pas le cas, essayez de publier l'intégralité du code HTML généré, et nous pouvons jeter un oeil. –

+0

Vous avez peut-être raison, j'essaie cette partie du code dans une nouvelle page de test et tout va bien pour que le problème vienne du HTML. Alors maintenant, je vérifie le code HTML et je vais en parler à tout le monde. – Boun