我需要關於Ajax和jQuery的幫助。使用jQuery從AJAX調用循環XML兒童?
我從Ajax調用收到此XML數據:
<data>
<book title=「Book1」 bookID="1">
<AuthorsNum>3</AuthorsNum>
<author>
<authorId>1</authorId>
<fName> Mark </fName>
<mName>null</mName>
<lName>White</lName>
<education>PHD</education>
<role>Writer</role>
</author>
<author>
<authorId>2</authorId>
<fName>Jhon</fName>
<mName>null</mName>
<lName>Brown</lName>
<education>PHD</education>
<role>Writer</role>
</author>
</book>
<book title=「Book2」 bookID=「2」>
<AuthorsNum>4</AuthorsNum>
<author>
<authorId>1</authorId>
<fName> Mark </fName>
<mName>null</mName>
<lName>White</lName>
<education>PHD</education>
<role>Writer</role>
</author>
</book>
我需要向下創建下降(選擇)菜單與圖書名稱和ID。然後,當每本書被選中時,我需要顯示作者姓名和教育。現在,我得到了下拉列表,但我無法弄清楚我是如何得到所選書籍的,並通過本書的所有作者循環顯示它們。
這裏是我做了什麼:
printAuthors = function(){
$.ajax({
type: "GET",
async: true,
cache: false,
url: url,
data: {path: "/mypath" },
dataType: "xml",
success: function(data, status){
var myContent = "";
if($(data).find("error").length!=0){
}
else{
var selectElement = $("<select id='bookMenu' name='bookMenu' />");
var content="";
$("book", data).each(function() {
$("<option />", {value: $(this).attr('bookID') , text: $(this).attr('title') }).appendTo(selectElement);
var selectedOption = this.value;
$("author", $(data).find('book[bookID="' + selectedOption + '"]').children()).each(function() {
// get the name and education and append them to a #myDiv
});
});
$("#myDiv").html(selectElement) ;
}
}
});
}
誰能幫助?是否有更好的方法來實現菜單和結果?
我需要將數據顯示爲作者姓名和每位作者的教育表。那麼,我怎樣才能從這兩個列表中填充表格。 –
@ F.Fo我已經更新了我的答案,只需將樣式添加到您的表格中,並且應該有數百個。 – EaziLuizi