2010-04-11 41 views
0

我試圖建立一個電臺的播放器,自動更新XML文件中的當前歌曲,問題是我不希望它更新UI(updateSongIMG),除非歌曲有其實已經改變我有一個叫做settings_songid的隱藏div,用於存儲歌曲ID,它應該檢查XML文件中的值,如果它不同,那麼它應該更新它。問題是,下面的功能實際上並沒有正常工作,它拉的所有XML數據很好,但因爲它不能在「如果」這不叫updateSongIMG。jQuery存儲設置

function loadXML() { 
    $.get('player.xml', function(d){ 
     $(d).find('onair').each(function(){ 
      var $onair = $(this); 

      var show_name = $onair.find('showname').text(); 
      var song_l1 = $onair.find('songline1').text(); 
      var song_l2 = $onair.find('songline2').text(); 
      var song_img = $onair.find('songimg').text(); 

      var song_id = $onair.find('song_id').text(); 
      var old_song_id = $("#settings_songid").html(); 

      if (!old_show_id==show_id){ 
       $("#settings_songid").html(song_id); 

       updateSongIMG(song_img,song_l1,song_l2); 
      } 
     }); 
    }); 
}; 
​ 
+0

普羅蒂普:快速格式化與縮進,結賬http://www.jsfiddle.net JavaScript代碼。將代碼粘貼到Javascript窗格中,然後單擊TidyUp。 – Anurag 2010-04-11 18:19:26

回答

2

這些定義在哪裏old_show_id和show_id?!

您可以使用http://api.jquery.com/jQuery.data/的那種東西。

+0

對'jQuery.data'建議+1。 – prodigitalson 2010-04-11 18:19:43

+0

'jQuery.data'非常棒。 +1我甚至沒有看他是如何抓取數據的。 – 2010-04-11 18:23:35

0

嘗試.text()

var old_song_id = $("#settings_songid").text(); 

和你if條款是錯誤的。我想你的意思song而不是show

if(old_song_id != song_id) 

對於任意數據存儲,看看jQuery的.data()方法。這比將數據存儲在隱藏的div中方便得多。