2010-05-12 3 views
0

Этот код не отключить мой элемент, как ожидалосьКак отключить элемент с помощью jQuery Multifile?

if(Multifile.n==0){ 
    $("#btnUpload").attr("disabled","disabled"); 
} 

Этот код не включить мой элемент, как ожидалось

$("#btnUpload").attr("disabled",""); 

Я добавил эти строки в jQuery.MultiFile.js после того, Я считаю, что место, где файлы добавляются и удаляются из объекта MultiFile. Насколько я могу судить, MultiFile.n - это счетчик.

Как отключить btnUpload, когда в списке нет файлов, и включите его, если есть хотя бы один.

+0

Не * * автоответчика, потому что я ничего не знаю ' Multifile', но ваш второй пример не будет включать элемент независимо. Чтобы отменить '.attr (" disabled "," disabled ")', вам нужно использовать '.removeAttr (" disabled ")'. Наличие атрибута 'disabled' со значением" "все еще отключает элемент. Подробности: http://www.w3.org/TR/html5/infrastructure.html#boolean-attribute –

+0

И, чтобы отключить элемент, '.attr ('disabled', true)' отлично работает - и это явно не так ужасно как установить значение «отключено» – ThiefMaster

+0

.removeAttr («отключено»); тоже не работает. Я также удалил начальный отключенный атрибут, и он остается включенным независимо от количества файлов –

ответ

0

Если в элементе есть отключенный атрибут, он всегда будет отключен, даже если атрибут пуст. Это потому, что оригинальный (SGML вариант) HTML имел атрибуты без значений, как этот

<INPUT TYPE="text" DISABLED> 

Таким образом, вы должны удалить атрибут

$('#btnUpload').removeAttr('disabled'); 
+0

Я удалил начальный атрибут, и он все равно никогда не меняет –

+0

, тогда, вероятно, задействованная кнопка не является элементом с идентификатором btnUpload. Вы проверили это с помощью инспектора элементов Chrome Chrome? (правой кнопкой мыши -> элемент проверки) –

+0

это, безусловно, элемент с id (и атрибутом name), равным btnUpload. я должен проверить что-то, кроме источника страницы? –

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