0
<div class="span1">
     <input type="checkbox" value="l4" id="l4" field="" defaultValue="" appEditor="true"/>
</div>

<div class="span7">
     <input type="text" class="m-wrap span10" id="fld_l4" defaultValue="" editType="intEdit" appEditor="true" disabled />
</div>

私がやりたいことは、チェックボックスがチェックされている場合、fld_l4で無効になっているものを削除することです。

Prototype.js または jQuery を使用してこれを行うには?

編集:私はjQueryでプロトタイプを使用していますが、エラーが発生しています:Uncaught InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable.ちなみに、競合のために$をjQueryに置き換えました

EDIT2:解決しました。

this.l4     = editor.instance;
editor.observe(iconstants.KEY_CHANGE,this.levelCheckboxChanged.bindAsEventListener(this))

内部レベルのチェックボックスが変更されました:

levelCheckboxChanged: function(e) {

    if($("l4").checked == false) {
        $("fld_l4").disabled = true;
    } else {
        $("fld_l4").disabled = false;
    }
},
4

5 に答える 5

2

この方法はうまくいくはずです:

$("#l4").on("change", function () {
    $("#fld_l4").prop("disabled", !$(this).is(":checked"));
});

jsFiddle: http://jsfiddle.net/J5Nt2/1/

于 2013-10-07T10:54:41.327 に答える
2

あなたはこのようにすることができます

$('#l4').change(function(){
if(this.checked){
$("#fld_l4").removeAttr('disabled');
 }    
})

デモリンク

于 2013-10-07T10:56:13.100 に答える
1

これを試して、

if( $("#l4:checked").length ) {
    $("#fld_l4").removeAttr("disabled");
}
于 2013-10-07T10:52:52.543 に答える
0

これを試して:

if( $("#l4").is(":checked") ) {  
   $('#fld_l4').removeAttr('disabled');
}
于 2013-10-07T10:53:04.950 に答える