2013-03-04 3 views
0

У меня есть следующий в моем яваскрипте заголовка:Почему это не возобновит работу, когда он имеет аргумент JQuery

$(document).ready(function(){ 
    $("#renew").click(function() { 
     // Here we want to do an asynchronous ajax update of the time on the queue entry 
     alert('reset to '+$('#time-div').text()); 
     $("#remainingTime").countdown('option',{until: $('#time-div').text(), format: "mS", expiryText: "Entry Released"}); 
    }); 
    $("#remainingTime").countdown({until: $('#time-div').text(), format: "mS", expiryText: "Entry Released"}); 
}); 

У меня есть DIV с идентификатором «времени» DIV, где он имеет

<div id='time-div'>+120s</div> 

Я использую для обратного отсчета.

Если я поставил до: '+ 30s', где у меня есть до: $ ('# time-div').

Когда у меня есть $ ('# time-div'). Text(), он всегда показывает ноль! Теперь предупреждение, которое вы видите в функции щелчка, отображает предупреждение с «+ 120s» правильно, показывая, что у div есть это значение.

Что здесь не так? Как использовать значение из div в аргументе до::?

+1

Придает ли ваше предупреждение вам, что вы ожидаете? –

+0

Да, да. Он отображает «+ 120s» –

+0

Также, используя строку «+ 120s», вы получаете обратный отсчет. Тем не менее, предыдущая функция «#renew», которая ловит щелчок (поле предупреждения снова), не перезапускает обратный отсчет, который, я думаю, должен. –

ответ

0

здесь, вероятно, лучше использовать атрибут data, хотя я не могу быть уверен, почему текст не работает.

попробовать это:

<div id='time-div' data-time_div="+120s">+120s</div> 

$(document).ready(function(){ 
    $("#renew").click(function() { 
     var time = $('#time-div').data('time_div'); 
     // Here we want to do an asynchronous ajax update of the time on the queue entry 
     alert('reset to '+ time); 
     $("#remainingTime").countdown('option',{until: time, format: "mS", expiryText: "Entry Released"}); 
    }); 
    $("#remainingTime").countdown({until: $('#time-div').data('time_div'), format: "mS", expiryText: "Entry Released"}); 
}); 
+0

Спасибо, это была хорошая попытка, но не сигары! Я попробовал var time = $ ('# time-div'). Data ('time_div'); и var time = $ ('# time-div'). data ('# time_div'); и никто не работал. Я также попробовал var time = '+ 120s'; и это отлично работало в качестве аргумента до тех пор, пока: я не понимаю, почему, когда я могу поместить время, когда вы вернули его в поле предупреждения, и он показывает правильно и идентично прямой настройке, а именно. time = '+ 120s', что он не работает. Ошибка? Разный «тип», что? –

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