Я пытаюсь понять варианты включения/отключения кнопок jquery ui.enable disable jquery ui button with ajax
Как правило, в прошлом для любого вида кнопки я использовал:
jQuery(".mybutton").prop('disabled', false);
В зависимости от того, хотите ли вы его включить/отключить это будет ложь/правда.
Это, похоже, работало и для кнопок jquery ui. То, что я делал, это проверка определенного количества и отключение кнопки при первой загрузке страницы.
Но кто-то может изменить значение счетчика, удаляя что-то (с помощью AJAX вызова):
//delete
jQuery(document).on("click", ".deletebutton", function() {
if (confirm("Are you sure you want to delete?"))
{
var hash = jQuery(this).data("delete");
var $this = jQuery(this);
jQuery.ajax({
url: "index.php?option=com_cam&task=delete&hash="+ hash +"&"+getToken()+"=1&format=raw",
dataType: 'json',
type: "POST",
success: function(data){
if (data.type == 'error')
{
//error message printed to user
}
else
{
$this.closest("tr").remove();
//deleted so decrement and check if you have exceeded your limit
count=count-1;
if (count >= limit)
{
//disable buttons
jQuery(".mybutton").button("option", "disabled", true);
}
else
{
//enable add buttons and hide message
jQuery(".mybutton").button("option", "disabled", false);
//jQuery(".mybutton").attr('disabled', false);
//jQuery(".mybutton").prop('disabled', false);
}
}
}
});
}
});
Тогда это должно позволить кнопку снова. Ни prop
, ни attr
или это post, похоже, сработало для меня. Только тогда, когда я сделал это:
jQuery(".mybutton").button("option", "disabled", false);
Я предполагаю, что я не понимаю, почему prop
не работает в этом контексте, когда он делает работу, чтобы отключить мои кнопки? Лучше всего всегда использовать кнопку setter?
При использовании кнопки ** виджет ** вы должны отключить ** виджет ** через интерфейс ** виджета **. –