-1

入力フィールドに値がある場合、入力フィールドの CSS クラスを変更するにはどうすればよいですか

例:

<input name='referrer' type='text' class='input-xlarge placeholder' placeholder='Referrer' value='{$ref}'  style='width:346px;'>

現在、私は次のようにしています:

if ($('#reffield').val() != ''){ $('#reffield').addClass('classname'); } 

しかし、それは何の効果もありませんし、エラーも生成しません。

4

4 に答える 4

1

#reffieldIDセレクターです属性の値に基づいて要素を照合しidます。id入力には属性がありません。設定する必要があります。

<input id='referrer' name='referrer' type='text' 
于 2013-08-27T15:57:19.123 に答える
0

ID タグが見つからず、

keydown 関数または何らかの条件でスクリプトを記述する必要があります。

$('input').keydown(function(e){

        $("#reffield").css( { backgroundColor:"blue" } );

});

デモ

于 2013-08-27T15:58:19.793 に答える
0

このコードは、すべての入力クラス名を値 != "" で変更します

$('input[value!=""]').each(function() {
    this.className = "className";
});

特定のIDを持つ特定の入力を変更したい場合

<input id="reffield" value="..:" ../>

それから

$('#reffield[value!=""]')[0].className = "className";

名前に基づいて特定の入力を変更する場合

 // if ($('input[name="reffield"][value!=""]')[0])
       $('input[name="reffield"][value!=""]')[0].className = "classname"

セレクターのドキュメントを読むことができます

注:「クラスを追加」ではなく「クラスを変更」と言います。2番目のケースでは、プロパティ.addClassの代わりにメソッドを使用する必要があります.className

于 2013-08-27T16:00:12.857 に答える