2013-10-23 76 views
0

嘿我的開發人員,我正在學習jquery,並且對執行簡單任務有疑問,請幫助我。更新選擇字段的值更改css

我其中有一個默認的背景色爲紅色選擇字段,但我想它的研究背景顏色更改爲白色,當用戶點擊該領域,並選擇任何其他然後選擇電子郵件地址。

<select id="email" style="background-color: red"> 
    <option value="">Select Email Address</option> 
    <option value="[email protected]">[email protected]</option> 
    <option value="[email protected]">[email protected]</option> 
</select> 

到目前爲止,我已經能夠執行onclick函數,但是如何在其內部插入其值的編碼。

$('#email').click(function() { 
    $('#email').css({ 
     'background-color': 'white', 
    }); 
}); 

回答

2

我adivse您從.click()事件更改爲.change()和 試試這個:

$('#email').change(function() { 
    if($(this).val() != ''){ 
     $(this).css({ 
      'background-color': 'white', 
     }); 
    } 
    else{ 
     $(this).css({ 
      'background-color': 'red', 
     }); 
    } 
}); 

DEMO

1

在這裏你去(我建議你結合,而不是.click.change事件):

$('#email').change(function() { 
    if ($(this).val().length) { 
     $('#email').css({ 
      'background-color': 'white', 
     }); 
    } 
}); 

希望幫助。

1

更換click()change()

$('#email').change(function() { 
    if($(this).val() != ''){ 
     $(this).css({'background-color': 'white', 
    } 
    else { 
     $(this).css({'background-color': 'red'}); 
    } 
}); 

Demo Fiddle

如果該值實際上是改變

變化只會被解僱,而不是點擊或只是開/關

+1

什麼,如果用戶選擇「選擇電子郵件地址」了? – Sorter

+0

@DeepakMishra更新了答案。 :) – Rex

1

你可以這樣做:

$('#email').change(function() { 
    if (this.value != '') { 
     $(this).css({'background-color': 'white'}); 
    } else { 
     $(this).css({'background-color': 'red'}); 
    } 
}); 

演示:Fiddle