2014-01-27 3 views
0

Я хочу отключить кнопку через 10 минут после ее нажатия. Я использую этот код, и он работает, если нет задержки(). Но с задержкой он не работает.jQuery: Отключить кнопку 10 минут после нажатия

<script> 
$(".selected-button").delay(600000).attr({ 
    disabled: true, 
    title: "You have already chosen the best answer and now you can not change it!" 
}); 
</script> 
+2

Вы можете использовать setTimeout – Satpal

+2

'.delay()' работает только с эффектами, такими как анимация. – j08691

ответ

0

Вы можете попробовать сделать что-то вроде этого, используя setTimeout вместо:

$(".selected-button").click(function() { 
    var $this = $(this); 
    $this.attr("disabled", true); 
    setTimeout(function() { 
     $this.removeAttr("disabled");  
    }, 600000); 
}); 
+0

Этот код также делает то же, что я упоминаю в ответе Satpal –

0

Чтобы ОТКЛЮЧИТЬ 10 ​​минут после щелчка:

$(".selected-button").click(function() { 
    $.ajax({ 
     type: 'POST', 
     url: url, 
     data: data, 
     done: function (data) { 
      if (data.status === 'OK') { 
       var that = $(this); 
       setTimeout(function() { 
        that.prop("disabled", true); 
       }, 10*60*1000); 
      } 
     } 
    }); 
}); 

See fiddle пример 5с.

+0

Этот код также отключен после завершения процесса –

+0

@JatinSoni кнопка будет отключена после 10 минут клика. Когда вы хотите, чтобы его уволили? –

+0

@JatinSoni Отредактировано, если вы хотите, чтобы ваша кнопка была отключена только после успешного ответа ** ajax **. Я просто понял, что, поскольку я видел ваш комментарий в Сатпале, ответьте. Пожалуйста, ** уточните свой вопрос **, чтобы сообщить нам об этом! (заголовок должен быть «Отключить после вызова ajax») –

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