7

デフォルトでチェックされていないチェックボックスと、デフォルトで無効になっている入力があります。

<label class="checkbox span3"><input type="checkbox"> I am a full-time student.</label>
<input class="inputIcon span3" id="disabledInput" type="text" placeholder="Enter School Name" disabled>

私はクラス名と ID 名を完全に制御でき、サイトは jQuery を使用しているため、必要に応じてそれまたはプレーンな JavaScript を使用できます。

ユーザーがボックスをチェックすると、「無効」属性が次の入力から削除されます。ユーザーがチェックを外すと、再び無効になります。

StackOverflow で同様の質問がいくつか見つかりましたが、この正確な使用例はないようです。

4

3 に答える 3

19

クリックを特定のチェックボックスにバインドするには、チェックボックスに id を割り当てる必要があります。

ライブデモ

<input type="checkbox" id="chk">

$("#chk").click(function(){   
    $("#disabledInput").attr('disabled', !this.checked)
});
于 2012-12-07T04:30:47.540 に答える
2

最初にチェックボックスにIDを与えます

<input id='cbFullTime' type="checkbox">

次に、そのクリック ハンドラーで、テキスト ボックスをフェッチし、無効化されたプロパティをチェックボックスのchecked プロパティの現在の値の逆数に設定します。

$('#cbFullTime').click(function() { 
    var cbIsChecked = $(this).prop('checked');
    $('#disabledInput').prop('disabled', !cbIsChecked); 
});

attrandを使用すると機能removeAttrしますが (正確に jQuery 1.6 を使用していないと仮定して)、prop関数を使用する方が少し簡単で、もう少し正確であることに注意してください。詳細については、このリンクをチェックしてください

于 2012-12-07T04:30:23.500 に答える
1

以下をお試しください

$(".checkbox").find("checkbox").click(function() { 
$('#disabledInput').prop('disabled', $(this).prop('checked')); 
});
于 2012-12-07T04:34:31.587 に答える