Я пытаюсь заполнить выпадающие меню из файла XML. Я искал в Stackoverflow, но решения, которые я нашел, не работают. Вот мой код JQuery:Заполнение выпадающего меню из файла XML jquery
<script type="text/javascript">
$(function() {
$.ajax({
type: "GET",
url: "signatures.xml",
dataType: "xml",
success: parseXml
});
function parseXml(xml) {
var select = $('#Bname');
$(xml).find('Signature').each(function(){
var title = $(this).find($(this).name).text();
select.append(""+title+"");
});
select.children(":first").text("Please make a selection").attr("selected",true);
$("#Bname").on("change", function() {
var filter = $(this).find(":selected").text();
var $node = $(xml).find("Signature[name='" + filter + "']");
$("#nom").val($node.find("Nom").text());
$("#titre-1").val($node.find("PG-Ligne1").text());
$("#titre-2").val($node.find("PG-Ligne2").text());
$("#titre-3").val($node.find("PG-Ligne3").text());
$("#titre-4").val($node.find("PG-Ligne4").text());
$("#ligne1").val($node.find("PD-Ligne1").text());
$("#ligne2").val($node.find("PD-Ligne2").text());
$("#ligne3").val($node.find("PD-Ligne3").text());
$("#ligne4").val($node.find("PD-Ligne4").text());
$("#ligne5").val($node.find("PD-Ligne5").text());
$("#ligne6").val($node.find("PD-Ligne6").text());
$("#ligne7").val($node.find("PD-Ligne7").text());
});
}
});
</script>
Вот пример моего файла XML:
<?xml version="1.0" encoding="utf-8" ?>
<SignaturesNovatech>
<Signature name="M-A L">
<Nom>asd</Nom>
<PG-Ligne1>Representative</PG-Ligne1>
<PG-Ligne2>Cleaner</PG-Ligne2>
<PG-Ligne3>3223 Metro street</PG-Ligne3>
<PG-Ligne4>1-438-234-4453</PG-Ligne4>
<PD-Ligne1>www.website.com</PD-Ligne1>
<PD-Ligne2>[email protected]</PD-Ligne2>
<PD-Ligne3>City here</PD-Ligne3>
<PD-Ligne4>Postal code</PD-Ligne4>
<PD-Ligne5>Services available</PD-Ligne5>
<PD-Ligne6>Graphic</PD-Ligne6>
</Signature>
<Signature name="Alain P">
<Nom>asd</Nom>
<PG-Ligne1>Representative</PG-Ligne1>
<PG-Ligne2>Cleaner</PG-Ligne2>
<PG-Ligne3>3223 Metro street</PG-Ligne3>
<PG-Ligne4>1-438-234-4453</PG-Ligne4>
<PD-Ligne1>www.website.com</PD-Ligne1>
<PD-Ligne2>[email protected]</PD-Ligne2>
<PD-Ligne3>City here</PD-Ligne3>
<PD-Ligne4>Postal code</PD-Ligne4>
<PD-Ligne5>Services available</PD-Ligne5>
<PD-Ligne6>None</PD-Ligne6>
</Signature>
</SignaturesNovatech>
Я не понимаю, что я делаю неправильно здесь. Я хочу, чтобы атрибут имени каждого раздела «Подпись» файла XML отображался в качестве опции в раскрывающемся меню.
Кто-нибудь? Большое спасибо
Спасибо большое!
Hi Rory, Большое спасибо. Кажется, почти работает. Это дает мне длинный список пустых опций, кроме «Пожалуйста, сделайте выбор». Любая идея почему? – Danimp
Учитывая, что вы разбираете XML, попробуйте использовать 'attr()' вместо 'prop()'. Я обновил свой ответ для вас. –
Awesome. Теперь работает. Большое спасибо! Теперь все понятно. Большое спасибо – Danimp