2010-02-12 5 views
2

J'essaye d'analyser un document XML simple avec jQuery. Est-ce que quelqu'un sait pourquoi ce qui suit fonctionne bien dans Chrome et Firefox, mais pas dans Internet Explorer (7 et 8)?Internet Explorer jquery: contient le numéro

var selBunit = $("#bunit").val(); 
$(bunitXml).find('bunit bname:contains('+selBunit+')').parent().find('team') 

Ci-dessous un extrait du xml. Donc, fondamentalement, j'essaie de renvoyer tous les éléments "d'équipe" pour l'unité commerciale sélectionnée ("bunit").

<bunit> 
<bname>Unit 1</bname> 
<teams> 
    <team> 
     <name>Team 1</name> 
     <jobtitles> 
      <jobtitle approval="false">Jobtitle 1</jobtitle> 
     </jobtitles> 
    </team> 
    <team> 
     <name>Team 2</name> 
     <jobtitles> 
      <jobtitle approval="false">Jobtitle 2</jobtitle> 
     </jobtitles> 
    </team>       
</teams> 
</bunit> 

Au début, j'essayé

$(bunitXml).find('bunit bname:contains($("#bunit").val())').parent().find('team') 

qui ne fonctionne pas du tout. Après quelques googler j'ai essayé les éléments suivants:

var selBunit = $("#bunit").val(); 
$(bunitXml).find('bunit bname:contains('+selBunit+')').parent().find('team') 

qui renvoie tous les éléments de l'équipe fins dans Chrome et Firefox, mais pas dans Internet Explorer. Je ne peux pas comprendre. Je suis assez nouveau à jQuery donc je pourrais y aller complètement faux donc toutes les suggestions seraient appréciées. Merci un groupe

Répondre

0
var selBunit = $("#bunit").val(); 
$(bunitXml).find('bunit bname:contains('+selBunit+')').parent().find('team') 

Si je ne suis pas bien comprendre, selBunit est une chaîne vous devez donc utiliser:

var selBunit = $("#bunit").val(); 
$(bunitXml).find("bunit bname:contains('"+selBunit+"')").parent().find('team') 

ou

$(bunitXml).find("bname:contains('" +selBunit+ "')").find('team');