2016-08-23 28 views
0

我已经在这里看到了几个关于如何做到这一点的例子,并成功地实现了其他使用属性的例子。这次我给了XML没有属性,我试图找出如何从节点值而不是属性填充我的选择列表。我不断收到对象而不是文本。我在这里做错了什么?使用jQuery从XML中填充选择框

代码:

var code_data; 
$.get('Book.xml', function (data) { 
    code_data = data; 
    var that = $('#BookDropdown'); 
    $('Book', code_data).each(function() { 
     $('<option />', { 
      text: $('BookName').val('label'), 
      value: $('BookID').val('value') 
     }).appendTo(that); 
    }); 
}, 'xml'); 

XML:

<BookList> 
    <Book> 
    <BookName>Book One</BookName> 
    <BookID>1</BookID> 
    </Book> 
    <Book> 
    <BookName>Book Two</BookName> 
    <BookID>2</BookID> 
    </Book> 
    <Book> 
    <BookName>Book Three</BookName> 
    <BookID>3</BookID> 
    </Book> 
    <Book> 
    <BookName>Book Four</BookName> 
    <BookID>4</BookID> 
    </Book> 
    <Book> 
    <BookName>Book Five</BookName> 
    <BookID>5</BookID> 
    </Book> 
</BookList> 

回答

0

您正在访问BookNameBookID是错误的方式。 。 。请使用以下代码。 `

var code_data; 
    $.get('Book.xml', function(data) { 
    code_data = data; 
    var that = $('#BookDropdown'); 
    $('Book', code_data).each(function() { 
     $('<option />', { 
     text: $('BookName',this).text(), 
     value: $('BookID',this).text() 
     }).appendTo(that); 
    }); 
    }, 'xml'); 

`

+0

啊啊啊我明白了!谢谢你Ravikiran! – DJTronix