Как я могу отключить / включить все кнопки HTML на странице с помощью JQuery - PullRequest
0 голосов
/ 21 марта 2011

У меня много вызовов ajax, и я хочу убедиться, что никто не нажимает ни одну кнопку во время вызовов ajax. Поэтому я хочу отключить все кнопки прямо перед любым вызовом ajax, а затем снова включить их после возврата вызова ajax. Я знаю, что могу отключить одну кнопку, как это:

 $("#buttonId").attr('disabled', 'disabled');
 $("#buttonId").removeAttr('disabled');

но какая строка в jquery для отключения / включения всех кнопок. Я не хочу использовать выбор по классу, так как тогда я должен помнить, чтобы на всех кнопках было указано определенное имя класса.

ПРИМЕЧАНИЕ: они НЕ являются кнопками отправки. Некоторые из них используются для всплывающих диалогов и т. Д., Поэтому

<input type="button" name="button" value="Show Popup" />

Ответы [ 2 ]

3 голосов
/ 21 марта 2011

Ваша первая задача - определить, что означает кнопка .Это кнопки отправки, которые вы хотите отключить?Если да, то вы можете использовать селектор :submit, если это кнопки отправки:

$(':submit').attr('disabled', 'disabled');
...

Если они не все кнопки отправки, вы можете попробовать селектор по типу тега:

$(':submit, :button').attr('disabled', 'disabled');

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

0 голосов
/ 21 марта 2011

Вы пробовали $ (": button")?Это сделало бы только буквальные кнопки, хотя."ввод будет более широким, но также будет соответствовать переключателям.

Также обратите внимание, что в вашем примере jQuery должен выполнять поиск кнопки (или всех кнопок дважды). Цепочка вызовов функций будетизбежать этой проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...