2010-04-11 51 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中方便得多。