0
我正在使用JS搜索XML並獲取它的元素以便在進一步處理中使用它,我使用heapbox來顯示元素,然後使用.selected
獲取選定元素以顯示其子元素。如何獲得.selected字符串?
這裏的問題是,我想選擇的元素,爲了讓孩子之前做出一些名稱的處理,但我得到了它在var
存儲沒事的時候,得到它直接使用全查詢時工作,
爲前,
var section = '', text = '' ;
section = $('menu').find($(".selected").text()).attr('nodeName');
alert($('menu').find($(".selected").text()).attr('nodeName'));
在該代碼
section
等於一無所有
,text
等於零,它警報undefined
,同時採用$('menu').find($(".selected").text()).attr('nodeName')
直接處理工作非常好。
UPDATE:
xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<menu parent_id="0" >
<Menu cat="main">
</Menu>
<Soup cat="main">
<Mushrom0Tomato.Soap price = "15.95" hasoption = "false">
</Mushrom0Tomato.Soap>
<Cream.Of.Chicken.Soap price = "16.95" hasoption = "true">
<Add.Mushroom price = "3.95"></Add.Mushroom>
<none price = "0"></none>
</Cream.Of.Chicken.Soap>
<Season.Soap price = "15.95" hasoption = "false">
</Season.Soap>
</Soup>
</menu>
JS代碼:
var cats=[], cati=0, total=0, selectedarray=[], itemoptions=[], optionstring='', section='', si=0, oi=0, items=[];
$("#total").append("Total: " + total + " EGP");
$('#dummy').load('cafe.xml',function() {
initialize();
})
function initialize(){
ct=$('menu').children().length;
for(cati==0;cati<=ct-1;cati++)
{
cats[cati]=$('menu').children().eq(cati).prop('nodeName');
var realname = cats[cati];
if(realname.indexOf(".") != -1){
realname = realname.replace(/\./g,' ');
}
$('.basic-example').append('<option value="option1">'+realname+'</option>');
}
$(".basic-example").heapbox({'onChange':function(){loadmenu()},effect:{type:"fade",speed:"slow"}});
}
// loading the items to the menu
function loadmenu()
{
$("#gallery").empty();
section = $('menu').find($(".selected").text()).attr('nodeName');
alert($("menu .selected").text().toString());
.
.
.
但是當提醒'$(「菜單.selected」)。text();'它給了我一個空字符串 – MRefaat
我不能幫你,除非你真的發佈你正在使用的代碼和數據。 –
完成後,檢查更新 – MRefaat