0

非常に簡単な質問:

私が行う場合: $(":input").css("background-color","#ffffff")、結果は、すべての入力フィールドが白い背景になることです。

ロジックは、値のない入力フィールドの背景色を黒にすると言い$(":input[value=]").css("background-color","#000000")ますが、それは機能しません (最新の jQuery バージョン)。私も試してみまし[value='']たが、無駄でした。

.each が唯一の解決策だとは信じられません。もっとシンプルにならなければなりません。

編集: コードは次のようになります。

<form id="frm_Auth" action="javascript:;"> 
   User name: <input type="text" size="10" id="frm_Auth_Username"  value="" />
   Password: <input type="password" size="10" id="frm_Auth_Password" value="" /> 
</form> 

jQuery:

$("#frm_Auth").on("submit", function() 
 { 
   $(":input").css("background-color","#ffffff"); $(":input[value=]").css("background- color","#FFCECE"); 
});
4

1 に答える 1

0

私はこれを正常に動作させることができますが、あなたの html を見ていません。inputに属性がまったくない可能性がありますが、次のvalue方法で確認できます:input:not([value])

http://jsfiddle.net/ExplosionPIlls/GUuQQ/

編集:ユーザーが値を変更するたびに背景を更新する必要があるかどうかを確認する場合は、チェックをkeyup次のようにバインドできます。

$(":input").on('keyup', function () {
    if (!$(this).val()) {
        $(this).css('background-color', 'black');
    }
    else {
        $(this).css('background-color', 'transparent');
    }
});
于 2013-02-06T04:10:44.383 に答える