2013-02-07 90 views
0

我想知道如何解決我的腳本,我想有一個警報發生在你點擊按鈕,但它跟上發生在同一頁上的XML的變化。 我會認爲這個腳本會工作,當然,當我點擊按鈕沒有任何反應。以爲我會看到是否可以從更有經驗的人那裏得到任何意見。jquery閱讀兒童XML數據

$(document).ready(function(){ 

function get_info() { 
    $.ajax({ 
     type: "GET", 
     url: "xmldata/product.xml", 
     dataType: "xml", 
     cache: false, 
     complete: function(doc) { 
      var product = $(doc.responseText).find("product").text() == 1; 
      var name = product.next().children("name").text(); 
      var cost = product.next().children("cost").text(); 
      $("#xmlalert").click(function(){ 
           alert(cost); 
      }) 
     } 
    }); 

} 
setInterval(function() { 
    get_info(); 
}, 5000); 
}); 

XML數據,如下所示:

<?xml version="1.0" encoding="utf-8"?> 
<store> 
    <product>1</product> 
    <info> 
     <name>Toy</name> 
     <cost>1196</cost> 
    </info> 
</store> 

回答

0

HTML代碼

<button class="button" id="1">One</button> 
<button class="button" id="2">Two</button> 

更改你的JavaScript代碼,如:

$(document).ready(function(){ 
     function get_info() { 
     $.ajax({ 
      type: "GET", 
      url: "xmldata/product.xml", 
      dataType: "xml", 
      cache: false, 
      complete: function(doc) { 
      $(".button").click(function(event){ 
       console.log($(this).attr('id')); 
       var product = $(doc.responseText).find("product").eq($(this).attr('id')-1); 
       var currentIndex=0; 
       product.each(function(index){ 
        var name = $(this).next().children("name").text(); 
        var cost = $(this).next().children("cost").text(); 
        alert(cost);  
       }); 
      }); 
     } 
     }); 

     } 
     setInterval(function() { 
      get_info(); 
     }, 2000); 
}); 

XML是

<?xml version="1.0" encoding="utf-8"?> 
<store> 
    <product>1</product> 
    <info> 
     <name>Toy</name> 
     <cost>1196</cost> 
    </info> 
    <product>2</product> 
    <info> 
     <name>Toy 2</name> 
     <cost>11962</cost> 
    </info> 

</store> 
+0

我不想問太多,但是有什麼區別,什麼xml文件被調用,以及它是否在子文件夾?比如你的cml.xml也是通過find(「product」)來找到的,它只能找到一個?有沒有更具體的方法?因爲這個XML將有多個產品,例如產品1,產品2等。 – Keleko

+0

好的,我改變了我的答案。 –

+0

謝謝,在我看到你的答案之前,我實際上已經明白了這一點,但它現在同時警告兩種費用,因爲我只希望它提醒一個。一個單獨的按鈕將是第二個。 – Keleko