2010-04-11 2 views
0

Я пытаюсь создать плеер для радиостанции, которая автоматически обновляет текущую песню из файла XML, проблема в том, что я не хочу, чтобы она обновляла пользовательский интерфейс (updateSongIMG), если только песня не имеет фактически изменился. У меня есть скрытый div, называемый settings_songid, который хранит идентификатор песни, и он должен проверять это на значение в файле XML, если оно отличается от другого, тогда оно должно обновить его. Проблема в том, что приведенная ниже функция на самом деле не работает, она отлично отображает все данные XML, но не вызывает updateSongIMG, поскольку она не отвечает «if».Настройки сохранения 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: для быстрого форматирования Javascript-кода с отступом, оформлением заказа 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) 

Для хранения произвольных данных, взгляните на .data() метод JQuery в. Это гораздо удобнее хранить данные в скрытом div.

Смежные вопросы