0

私はjQueryでいくつかの実験を試みてきましたが、基本的には機能していません.これは私のHTMLです:

<input class="span4" value="" id="dpd1" type="text"> <!-- Input that needs value -->
<input class="span4" value="" id="dpd2" type="text" disabled> <!-- Input which needs 'enabled' -->

そして、これが私がjqueryで試していることです:

$('#dpd2').click( function () {
    var value = $('#dpd1').val();
    if( value.length > 0 ){
    $("#dpd2").prop('disabled', disabled); }
    });

おそらくクリックでこれをすべて起こそうとするべきではありませんが、jQueryでこのようなことを実際に行ったことがないので、このタイプの状況に最適な方法はわかりません.

どんな助けでも大歓迎です。

編集:私は、私が望む結果を達成するための最短かつ効果的な方法を最も強調した答えを選びました. しかし、他にも素晴らしい答えがいくつかあります。ありがとう!!

4

3 に答える 3

3

blur最初のテキストボックスでそれをしたいかもしれませんが、

$('#dpd1').blur(function () {
    $("#dpd2").prop('disabled', !$.trim($('#dpd1').val()).length);
});

デモ

propはブール値を取ります。また、最初にテキストボックスを無効に設定すると、クリックできなくなります。したがってblur、最初のテキストボックスからフォーカスを外したら、アクションを実行するために使用します$.trim()。テキストボックス値の末尾から空白を削除するために使用します

于 2013-06-15T19:37:16.533 に答える
3

ブール値を使用して、次のプロパティを無効/有効にしますprop()

$('#dpd1').on('keyup', function () {
    $('#dpd2').prop('disabled', this.value.length < 1); 
});

フィドル

于 2013-06-15T19:31:41.977 に答える
1

ええ、クリックはここでは機能しません。変更ハンドラを実装し、値が空の文字列かどうかを確認し、そうでない場合は、他の入力の無効化されたプロパティを変更する必要があります。

何かのようなもの:

$('#dpd1').change(function () {
    $("#dpd2").prop('disabled', $('#dpd1').val() == '');
});
于 2013-06-15T19:32:45.970 に答える