使用jquery ajax请求解析xml

我有这个xml文档:

   message 1 message 2 message 3 message 4 message 5 message 6 message 7 message 8 message 9 message 10 message 11   

这是我的代码:

     Untitled Document   $(document).ready(function() { $.ajax({ type: "GET", url: "numbers.xml", dataType: "xml", success: parseXml }); function parseXml(xml) { $(xml).find("chapter").each(function() { $(this).find("lesson").each(function() { $("#dropdownlist").val($(this).text()); $("select").change(function () { var str = ""; $("select option:selected").each(function () { str += $(this).val().text() + " "; }); $("#dropdownlist").val(str); }) .change(); }); }); } });    

chapter lesson_1 lesson_2 lesson_3 lesson_4 lesson_5 lesson_6 lesson_7 lesson_8 lesson_9 lesson_10 lesson_11

我的问题是代码堆栈只显示xml解析的第一个结果。 当我从下拉菜单中选择第一个选项时,一切都没问题,但是当我选择其他选项堆栈并再次向我显示时。 有什么建议?

试试这段代码:

 $(document).ready(function() { $.ajax({ type: "GET", url: "numbers.xml", dataType: "xml", success: function(response) { $('lesson', response).each(function() { $("#dropdownlist").append($('').text($(this).text())); }); } }); $("select").change(function() { var str = ''; $(this).find(":selected").each(function() { str += $(this).text() +' '; }); $("#dropdownlist").val(str); }).change(); }); 

每次循环时,都会在元素中附加一个change()触发器。