1

テキストフィールドが無効になって読み込まれるフォームを作成しようとしています。ユーザーがこのフィールドに入力する場合は、チェックボックスをクリックする必要があります。私は今これを持っています。

ただし、下にあるテキストボックスの読み込みが有効になっている場合は、チェックボックスをオンにすると無効になります。これをどのように変更して、これを逆にすることができますか。つまり、テキストボックスが最初に無効になり、チェックボックスをクリックすると有効になりますか?

Javascriptコード

$(document).ready(function () {
            $('#testcheckbox').change(function() {
                $('#testtextfield').attr('disabled', this.checked);
            });
        });

HTMLコード

<input type="checkbox" id="testcheckbox" />
<input type="text" id="testtextfield" />

ありがとう。

4

2 に答える 2

5

この設定を使用してみてください:

<input type="checkbox" id="testcheckbox" />
<input type="text" id="testtextfield" disabled="disabled" />

$(document).ready(function () {
    $('#testcheckbox').change(function() {
        $('#testtextfield').prop('disabled', !this.checked);
    });
});

http://jsfiddle.net/93HJ3/

この場合、テキストボックスはdisabledデフォルトです。次に、チェックボックスをクリックすると、テキストボックスはその反転プロパティに基づいて無効になりchecked、目的とは逆の動作になります。

http://api.jquery.com/prop/を見ると、「disabled」、「readonly」、「checked」などの要素のプロパティを変更するために、より受け入れられているjQueryメソッドであることがわかります。違いについての良い議論:.prop()と.attr()。ただし、属性やプロパティは意味が異なるため、変更する必要があるかどうかはあなた次第です。

于 2013-01-15T16:39:24.493 に答える
0

jQueryを使用したくない場合は、純粋なJavaScriptと同等です。

<input type="text" id="inputbox" diasbled="disabled" />

var inputbox = document.getElementById('inputbox');

document.addEventListener('DOMContentLoaded',function(){
    inputbox.removeAttribute('disabled');
});
于 2017-03-03T16:18:15.443 に答える