2015-07-21 8 views
0

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

Ниже приведен код, который я использую. У меня нет кровавой идеи, почему она не работает. Я подозреваю, что это может быть ошибка WordPress, но я новичок в Javascript, поэтому я надеюсь, что это так.

<script type="text/javascript"> 
$('input[name=AddressCheck]').change(function(){ 
    if($(this).is(':checked')) { 
     $("#dbltext").removeAttr('disabled'); 
    } 
    else{ 
     $("#dbltext").attr('disabled','disabled'); 
    }  

}); 
</script> 



<input name="AddressCheck" type="checkbox" id="AddressCheck" /><br /> 
<input type="text" id="dbltext" disabled/> 
+1

Итак, вы пытаетесь включить текстовое поле при установке флажка? или наоборот? –

+0

При загрузке страницы текстовое поле должно быть отключено. После того, как флажок установлен, текстовое поле должно быть включено. –

+0

Ах! см. ответы ниже. Я не думаю, что понял ваш вопрос в первый раз. Извини за это. –

ответ

0

скрипт запускается до того, как браузер видит остальную часть страницы, поэтому элемент никогда не встречается, так что ничто не связано

попробовать

$(document).ready(init); 
// or document.addEventListener('DOMContentLoaded', init); 
function init(){ 
    $('input[name=AddressCheck]').change(function(){ 
    if($(this).is(':checked')) { 
     $("#dbltext").removeAttr('disabled'); 
    } 
    else{ 
     $("#dbltext").attr('disabled','disabled'); 
    } 
    }); 
} 

или переместить сценарий до конца тела

+1

Спасибо, это сработало хорошо. –

1
$(document).ready(function(){ 
    $('input[name=AddressCheck]').click(function(){ 
     if($(this).is(':checked')) { 
      $("#dbltext").removeAttr('disabled'); 
     } 
});