.attr( "отключено", "отключено" )
У меня есть эта функция, которая отключает атрибут disabled из поля ввода:
$('.someElement').click(function(){
if (someCondition) {
console.log($target.prev('input')) // gives out the right object
$target.toggleClass('open').prev('input').attr('disabled', 'disabled');
}else{
$target.toggleClass('open').prev('input').removeAttr('disabled'); //this works
}
})
removeAttr
отлично работает, но когда мне нужно добавить отключенного снова, он ничего не делает. Мой console.log запускается (и возвращает мне правильное поле ввода), поэтому я уверен, что работает инструкция if. Но когда я проверяю DOM с firebug в firefox, отключенный атрибут не появляется.
Может кто-нибудь мне помочь?
PS: пожалуйста, не сосредотачивайтесь на функции или на самом утверждении if, отлично работает только с этим attr, который не работает для отключенных...
edit: его тип ввода = "скрытый", возможно ли, что отключенный не работает в скрытых полях?
Ответы
Ответ 1
Спасибо всем за ваш вклад! Я нашел проблему:
ЕГО ОГНЕТУШЬ ОГНЕТУШЬ!!!
Мой код работает. Я попросил PHP Dev изменить типы ввода, скрытые для ввода типа текста.
Функция отключена. Но консоль firebug не обновляет этот статус!
вы можете протестировать эту ошибку firebug самим собой http://jsbin.com/uneti3/3#. спасибо to aSeptik для примера страницы.
update: 2. Июнь 2012: Firebug в FF11 все еще имеет эту ошибку.
Ответ 2
Попробуйте этот обновленный код:
$(bla).click(function(){
if (something) {
console.log($target.prev("input")) // gives out the right object
$target.toggleClass("open").prev("input").attr("disabled", "true");
}else{
$target.toggleClass("open").prev("input").removeAttr("disabled"); //this works
}
})
Ответ 3
ОБНОВЛЕНО
DEMO: http://jsbin.com/uneti3/3
ваш код неправильный, это должно быть примерно так:
$(bla).click(function() {
var disable = $target.toggleClass('open').hasClass('open');
$target.prev().prop("disabled", disable);
});
вы неправильно используете функцию toggleClass
Ответ 4
Я столкнулся с подобной проблемой, переключая отключенное состояние кнопки! После запуска кнопки removeProp('disabled')
кнопка отказалась снова "отключиться"! Я нашел интересное решение: используйте prop("disabled",true)
, чтобы отключить кнопку и prop("disabled",false)
, чтобы снова включить ее!
Теперь мне удалось переключить состояние "отключено" на моей кнопке столько раз, сколько мне нужно! Попробуйте.
Ответ 5
$("#vp_code").textinput("enable");
$("#vp_code").textinput("disable");
вы можете попробовать его
Ответ 6
Try
$(bla).click(function(){
if (something) {
console.log("A:"+$target.prev("input")) // gives out the right object
$target.toggleClass("open").prev("input").attr("disabled", "disabled");
}else{
console.log("A:"+$target.prev("input")) // any thing from there for a single click?
$target.toggleClass("open").prev("input").removeAttr("disabled"); //this works
}
});
Ответ 7
Чтобы добавить отключенный атрибут
$('#id').attr("disabled", "true");
Удаление атрибута Отключено
$('#id').removeAttr('disabled');