2011-01-05 2 views
2

Ich bin ein Neuling in jquery und ich möchte subchilds in einer XML-Datei für ein bestimmtes Kind Attribut analysieren, zum Beispiel, ich habe diese Städte und Bezirke Listeerhalten subchild Wert für ein bestimmtes Kind in xml über jquery

<city name="ANKARA"> 
    <distr>BEYPAZARI</distr> 
    <distr>GÜDÜL</distr> 
    <distr>KAZAN</distr> 
    <distr>ÇANKAYA</distr> 
</city> 
<city name="İSTANBUL"> 
<distr>EMİNÖNÜ</distr> 
<distr>ÇATALCA</distr> 
<distr>BEYOĞLU</distr> 
<distr>BEYKOZ</distr> 
<distr>BEŞİKTAŞ</distr> 
</city> 

ich diesen Code verwende Stadt Liste

$(xml).find('city').each(function(){ 
    var city = $(this).attr("name"); 
    $("<option>").text(city).appendTo("#cityList"); 
}); 

zu bekommen, aber ich weiß nicht, wie die Landkreise von zum Beispiel Ankara zu bekommen, könnte jemand mir bitte helfen dank im Voraus

Antwort

1
$(xml).find('city[name="ANKARA"]').each(function(){ 
    var city = $(this).attr("name"); 
    $("<option>").text(city).appendTo("#cityList"); 
}); 

Das ist der "attribute equals" Selektor, den Sie wollen.

+0

vielen Dank! Viel, es hat funktioniert, aber jetzt habe ich ein Änderungsereignis für eine Select-Eingabe erstellt und die ausgewählte Stadt einem Variablennamen selectedCity zugewiesen und ich habe $ (xml) .find ('city [name =' '+ selectedCity +' "] ') geschrieben. jeder (Funktion() ... und es tat nicht funktionieren, ist das normal? –

+0

Hoppla! Ich habe vergessen, den ausgewählten Wert des Select-Eingangs zuzuweisen, jetzt funktioniert es –

0

Versuchen Sie dies durch die ganze Stadt und die Kinder Bezirke iterieren

$(xml).find('city').each(function(){ 
    var city = $(this).attr("name"); 
    $('distr', this).each(function(){ 
     //Add your code here to deal with Districts 
    } 
    }); 
    $("<option>").text(city).appendTo("#cityList"); 
}); 
0

beide Antworten oben half mir genau das zu bekommen, was ich will,

$(xml).find('city[name="ANKARA"]').find('distr').each(function(){ 
    var distr = $(this).text(); 
    $("<option>").text(distr).appendTo("#district_list"); 
}); 

Vielen Dank

Verwandte Themen