2014-01-20 3 views
3

скрипку - http://jsfiddle.net/XH5zm/
JSBin - http://jsbin.com/UKIweJE/1/editJQuery: Если установлен флажок Включить еще Отключить

Я пытаюсь включить/отключить входной текстовое поле, переключаясь, если флажок установлен или нет.

$(document).ready(function() { 
    if ($('.enable-padding').attr('checked') === true) { 
    $('.grab-padding').attr('enabled','enabled'); 
    $('.grab-padding').val("13px"); 
    } else { 
    $('.grab-padding').attr('disabled','disabled'); 
    $('.grab-padding').val(" "); 
    } 
}); 

Что именно я делаю неправильно?

Любая помощь очень ценится.

ответ

5
  1. Вы не слушать change события.
  2. Нет enabled Недвижимость.
  3. .attr() не возвращает логическое значение и не изменяет свойства.

    $('.enable-padding').on('change', function() { 
        $('.grab-padding').prop('disabled', !this.checked) 
             .val(this.checked ? "13px" : ""); 
    }); 
    
1

Вы должны добавить событие для изменения состояния флажка:

$(document).ready(function() { 
    $('.enable-padding').on('change',function(){ 
    if ($('.enable-padding').is(':checked')) { 
    $('.grab-padding').removeAttr('disabled'); 
    $('.grab-padding').val("13px"); 
    } else { 
    $('.grab-padding').attr('disabled','disabled'); 
    $('.grab-padding').val(" "); 
    } 
    }); 
}); 

и modifiy вход для этого:

<input class="grab-padding" type="text" value="13px"></td> 
0
$('#chbox').click(function() { 
    if ($('#txt_data').attr('disabled') =='disabled'){ 
     $('#txt_data').removeAttr('disabled'); 
    }else{ 
     $('#txt_data').attr('disabled','disabled'); 
    } 

}); 
Смежные вопросы