Знайдіть, чи вимкнено текстове поле чи не використовується jquery


93

Мені потрібно з’ясувати, чи вимкнено чи ввімкнено текстове поле за допомогою Jquery.

Відповіді:


152

.prop('disabled') поверне логічне значення:

var isDisabled = $('textbox').prop('disabled');

Ось скрипка: http://jsfiddle.net/unhjM/


З якоїсь причини це не працює в моїй програмі, хоча в скрипці вона працює ідеально. Коли я запускаю його, firebug каже, що .prop не є функцією! Це щось пов’язане з версією jquery? У будь-якому випадку, .is (': disabled'), здається, працює нормально. Дякую. Дякую.
Мохаммед Жораїд,

2
@MohammedJoraid - .prop()був введений у jQuery 1.6 (див. Документи). Якщо ви використовуєте попередню версію jQuery, використовуйте .attr()натомість.
Джозеф Сільбер,

@ChamanSaini ви вводите в оману. Формат $ ('input') призначений для вибору введення "control of type", тоді як $ ('# input') буде відповідати елементу з ідентифікатором "input", незалежно від його типу.
Томерц,

68

Ви можете дізнатися, чи вимкнено текстове поле за допомогою isметоду, передавши йому :disabledселектор. Спробуйте це.

if($('textbox').is(':disabled')){
     //textbox is disabled
}

13

Ви можете використовувати $(":disabled")для вибору всіх відключених елементів у поточному контексті.

Ви можете визначити, чи вимкнено окремий елемент $("#textbox1").is(":disabled").


4

Ви можете перевірити, вимкнено елемент чи ні, за допомогою цього:

if($("#slcCausaRechazo").prop('disabled') == false)
{
//your code to realice 
}

При булевому порівнянні немає необхідності перевіряти на trueчи false. Просто використовуйте if (expr)або if (! expr), відповідно.
faintsignal

Ви маєте рацію, якщо ($ ("# slcCausaRechazo"). Prop ('disabled')) {// ваш код для реального використання, якщо вимкнено}

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.