2010-04-11 2 views
0

XML 파일에서 현재 노래를 자동으로 업데이트하는 라디오 방송국 용 플레이어를 만들려고하는데, 문제는 노래에없는 한 UI (updateSongIMG)를 업데이트하지 않아야한다는 것입니다. 실제로 변경되었습니다. 나는 노래 ID를 저장하는 settings_songid라는 숨겨진 div를 가지고 있으며, 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

protip : 들여 쓰기로 자바 스크립트 코드를 빠르게 포맷하려면 http://www.jsfiddle.net을 확인하십시오. Javascript 창에 코드를 붙여 넣은 다음 TidyUp을 클릭하십시오. – Anurag

답변

2

여기서 정의 된 old_show_id 및 show_id는 무엇입니까?!

그런 종류의 물건에는 http://api.jquery.com/jQuery.data/을 사용할 수 있습니다.

+0

+1에 대한 'jQuery.data'제안. – prodigitalson

+0

'jQuery.data'는 굉장합니다. +1 나는 그가 데이터를 잡는 방법을 보지도 못했다. –

0

.text()을 시도해보십시오

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

하고 if 절은 잘못된 것입니다. 나는 당신이 song하지 show을 의미 생각 :

임의의 데이터를 저장하기위한
if(old_song_id != song_id) 

는, jQuery의 .data() 방법을 살펴 있습니다. 이 방법은 숨겨진 데이터를 div에 저장하는 것보다 훨씬 편리합니다.