2

私はselectユーザーの選択に従って記入されたボックスの値をチェックしようとしています、この選択はユーザーがオプションを選択すると入力されますother select boxes、今document.ready()選択は空です、私はこの選択がまだ空であるかどうかをチェックする必要があります、そして無効にしますボタン、それ以外の場合は、再度有効にします。

これが私が試したものです。ドロップボックスが空であることを検出しますが、入力されているときは検出されません。

if ($('#course-selection').html(null)) {
$('#show-wall-button').attr('disbaled','disabled');
}

else {
$('#show-wall-button').removeAttr('disabled');  
}

document.readyこれは、ページが読み込まれたときにイベントですでに発生しています!。

私もこれを試しましたが、うまくいきませんでした

if ($('#course-selection').val(null)) {
    $('#show-wall-button').attr('disbaled','disabled');
    }

    else {
    $('#show-wall-button').removeAttr('disabled');  
    }
4

7 に答える 7

1

あなたはこれを試すことができます:

$('#show-wall-button').prop('disabled', $('#course-selection').is(':empty'))
于 2012-05-16T20:24:11.593 に答える
0

@Raminsonの提案で行く

ただし、この例disabledではスペルが間違っている(disbaled)ためdisabled、入力時にAttrが削除されることはありません。割り当てた属性のスペルが間違っています。disbaled

于 2012-05-16T20:29:37.643 に答える
0

次のようにしてみてください:

if ($('#course-selection').val() === '') { 
   $('#show-wall-button').prop('disbaled', true);
}

else {
   $('#show-wall-button').prop('disabled', false);  
}

APIから:http://api.jquery.com/prop/

于 2012-05-16T20:23:51.377 に答える
0
if ($('#course-selection').val(null))

する必要があります

if ($('#course-selection').val() == '')
于 2012-05-16T20:24:02.077 に答える
0

$('#course-selection option').length現在使用している条件の代わりにどうですか?いずれにせよ、選択ボックス内にオプションタグがあるかどうかを確認しなくても、やりたいことを実行するためのより良い方法があるのではないかと思います。

于 2012-05-16T20:24:04.823 に答える
0

の内容を確認するの<select>は少し面倒です。data-populated="false"属性を追加して、それを設定するtrueときに設定するようなことはどうですか。次に、条件内の要素の属性のステータスを確認できます。

于 2012-05-16T20:24:32.647 に答える
0
<select id="course-selection">
   <option value="">null</option>
   <option value="1">option1</option>
</select>

選択した値を取得する場合:

if($("#course-selection option:selected").val()=="")
   $('#show-wall-button').attr('disbaled', true);
else
   $('#show-wall-button').removeAttr('disabled');

選択したテキストを取得したい場合:

if($("#course-selection option:selected").text()=="null")
   $('#show-wall-button').attr('disbaled', true);
else
   $('#show-wall-button').removeAttr('disabled');
于 2012-05-16T20:37:02.157 に答える