-4

デフォルトでテキストボックスを無効にし、ユーザーがチェックボックスで有効にできるようにするにはどうすればよいですか?

<input type="checkbox" id="sccb" name="science" value="science">
<script type="text/javascript">
    $(document).ready(function(){
    $('#sccb').click(function(){
    if (this.checked) {
    $('#cns').removeAttr("disabled");
    }
    else {
    $("#cns").attr("disabled", true);
    }
    });
    });
</script>

<input type="text" id="cns" name="coornamescience" disabled="disabled" size="30"></input>
4

6 に答える 6

3

disabled="disabled"テキストボックスに使用しJS/jQueryてから、クリック時に有効にするために使用します

デモ - http://jsfiddle.net/jaCmE/

<textarea rows="4" cols="50" disabled="disabled" id="mytextbox">
</textarea>

<input type="checkbox" id="checkbox1" />

そして、Javascript/jQueryこのように使用します-

$(document).ready(function(){
    $('#checkbox1').click(function(){
    if (this.checked) {
    $('#mytextbox').removeAttr("disabled");
    }
    else {
    $("#mytextbox").attr("disabled", true);
    }
    });
});
于 2013-04-09T03:30:40.990 に答える
0

icktoofay が言ったように、マークアップで有効のままにしてから、スクリプトを使用して無効にします。

<input type="text" id="i0">
<label for="cb0"><input id="cb0" type="checkbox">Check to enable</label>

<script>
  document.getElementById('i0').disabled = true;
  document.getElementById('cb0').onclick = function() {
    document.getElementById('i0').disabled = !this.checked;
  };
</script>
于 2013-04-09T04:33:41.637 に答える
0

jquery を使用してチェックボックスをターゲットにすることができ、チェックボックスが有効になっている場合はテキストボックスが無効になり、その逆も同様です。HTML:

<form action="">
<input type="text" name="box" id="mytext" />
<input type="checkbox" name="check" id="mycheckbox" />
</form>

J:

    $(function(){
    //Disable the textbox
   var textbox = $('#mytext');
   textbox.attr("disabled","disabled");

    $('#mycheckbox').change(function(){
       //Enable input
        if(textbox.attr('disabled')){
           $('#mytext').removeAttr('disabled');
        }else {
            textbox.attr("disabled","disabled");
        }
    });

});

JsFiddle の図は次のとおりです: http://jsfiddle.net/X5TVx/

于 2013-04-09T03:46:37.450 に答える
0
<script type="text/javascript">
function disenable(e) {
  e[0].disabled = e[1].checked ? "" : "disabled"
}
</script>
<form action="">
<input type="text" disabled="disabled"><br>
<input type="checkbox" onchange="disenable(this.form)">Click me
</form>

ここで、e はフォーム、e[0] は最初の入力 (テキストボックス)、e[1] は 2 番目の入力 (チェックボックス) です。チェックボックスが変更されると、フォームを入力として渡す disenable が呼び出され、関数はチェックされた状態に基づいてテキストボックスの無効な引数を消去または設定します。

于 2013-04-09T03:41:39.263 に答える
0

JavaScript を使用して、まずテキスト ボックスを無効にします。change次に、イベント ハンドラーをチェック ボックスに追加します。その中で、テキスト ボックスの無効状態をチェック状態の反対に設定します。

于 2013-04-09T03:30:43.553 に答える