Войти
ПрограммированиеФорумВеб

Почему не возможно вызвать attr?

#0
16:51, 12 мар. 2015
Изображение

#1
17:59, 12 мар. 2015

Потому, что disabled это не атрибут а свойство селекта (prop)
Да и надо писать не $select, а $('select')
Примерно так:
$('select').prop('disabled', false);
Но учти, если в разметке не один селект, то будут выбраны все селекты. Лучше присвой селекту id и делай по нему выборку

#2
22:11, 12 мар. 2015

disabled="disabled" вроде так по-новому.
http://stackoverflow.com/questions/6961526/correct-value-for-disabled-attribute

#3
8:13, 13 мар. 2015

Сергей
> Потому, что disabled это не атрибут а свойство селекта (prop)
Стоп-стоп, тогда почему в другой функции - это работает?

Смотрите, есть вот эта функция, в ней все работает:

var $next_level = $('[data-level=' + ($slevel + 1) + ']');
$next_level.attr('disabled', true); // Здесь все работает

А в другой функции, аналогичный, как мне кажется, код, не работает:

$selects = $('select[name="kladr"]');
for(var $i = 1; $i < $selects.length; $i++) {
  var $select = $selects[$i];
  $select.attr('disabled', false);
}

#4
8:44, 13 мар. 2015

Разобрался. Надо было $select обернуть в $().

#5
8:53, 13 мар. 2015

Я ж тебе писал (см. #1, вторая строка) :)

ПрограммированиеФорумВеб

Тема в архиве.