2013-08-27 50 views
-1

我怎樣才能改變CSS類的輸入字段,如果輸入字段的值改變,如果輸入具有價值

範例CSS類:

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

目前,我做像這樣:

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

但是這並沒有任何效果,也沒有產生任何錯誤。

+0

您是否只想更改'#reffield'(單個元素)或多個輸入元素?雖然這個過程本質上是一樣的,但只是想澄清一下這個例子。如果沒有id ='reffield'的元素,那麼它無法工作。 –

+2

沒有「css類」這樣的東西。你正在處理HTML類。 – Quentin

+0

您在HTML中沒有id – achakravarty

回答

4

你需要指定id屬性的標籤內,像這樣:
<input id="reffield" name='referrer' type='text' class='input-xlarge placeholder' placeholder='Referrer' value='{$ref}' style='width:346px;'>

你的jQuery選擇找不到根據您的HTML id爲「reffield」的元素。

1

#reffieldan id selector.它匹配基於它們的id屬性的值的元素。您的輸入不具有id屬性,應該設置一個:

<input id='referrer' name='referrer' type='text' 
0

沒有ID標籤發現

你需要寫的keydown功能或某些條件的腳本。

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

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

}); 

DEMO

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" 

您可以閱讀documentation of selectors

注意:你說的「改變階級」,而不是「添加類」。在第二種情況下,您應該使用.addClass方法而不是.className屬性