2011-09-07 118 views
0

試圖根據用戶點擊哪個鏈接來拉取不同的節點。 問題我正在將變量傳遞給Ajax。將變量傳遞給AJAX XML GET

目前代碼:

XML

<?xml version="1.0" encoding="iso-8859-1"?> 
<modules> 
    <module id="1"> 
    <title>Title 1</title> 
    <link> 
     <Ltitle>A Sub title</Ltitle> 
     <Lurl>http://www.alink.com</Lurl> 
    </link> 
    </module> 
    <module id="2"> 
    <title>Title 2</title> 
    <link> 
     <Ltitle>A Sub title</Ltitle> 
     <Lurl>http://www.alink.com</Lurl> 
    </link> 
    </module> 
</modules> 

的Html

<a href="#" rel="1">One</a> 
<a href="#" rel="2">Two</a> 

jQuery的

var ajaxDataCollection = function(){ 
      var xmlSelect = $("a").attr('rel'); 
      alert(xmlSelect) 
      $.ajax({ 
       type: "GET", 
       url: "data.xml", 
       dataType: "xml", 
       success: function(xml) { 
        $(xml).find("module[id='+xmlSelect+']").each(function(){ 
         var id = $(this).attr('id'); 
         var title = $(this).find('title').text(); 
         $('<li><h3>Module '+id+' :: <b>'+title+'</b></h3></li>').appendTo('.subMenu ul'); 
         //<li><h3>Module 4 :: <b>Structures</b></h3></li> 
         $(this).find('link').each(function(){ 
            var Ltitle = $(this).find('Ltitle').text(); 
            var Lurl = $(this).find('Lurl').text(); 
            $('<li><a href="'+Lurl+'">'+Ltitle+'</a>').appendTo('.subMenu ul'); 
            //<li><a href="#">Bonjour</a></li> 
           }); 
        }); 
       } 
      }); 
     }; 
     ajaxDataCollection(); 
+0

你的意思是你沒有得到XML響應?或者您在解析結果時遇到問題? 「成功」處理程序被調用了嗎? – Rafay

+0

@ 3nigma,一切工作正常,如果我不通過一個變量,即:$(xml).find(「module [id ='1']」),但我想把一個變量,其中「1」可以動態拉動節點(如果可能的話)。 – Starboy

回答

0

我假定你所得到的XML響應,使用.parseXMLŧ Ø解析XML,包裹在$ XML響應,並使用DOM遍歷方法訪問它不是很跨瀏覽器,我創建了一個小提琴,希望這將有助於

http://jsfiddle.net/r4SBr/