2014-04-02 89 views
2

你好傢伙我試圖創建一個jQuery的功能,當他第一次點擊選擇按鈕時,背景將變爲白色,如果他再次點擊它將變成藍色,反之亦然JQuery更改背景的選擇每一次點擊

<select name="contact" class="changeBg"> 
    <option value="">Change!</option> 
    <option value="">Changes!</option> 
</select> 

$('.changeBg').click(function() { 
    $(this).css('background-color', 'green'); 
}); 

回答

1

Fiddle Demo

.toggleClass()

$('.changeBg').click(function() { //you can use change event 
    $(this).toggleClass('BgColor'); 
}); 

CSS

.changeBg { /* no need if your background is already white */ 
    background-color:#fff; 
} 
.BgColor { 
    background-color:blue; 
} 
+1

很酷!非常感謝!^_^ – user2533808

+0

@ user2533808歡迎很高興幫助:) –

1

嘗試與切換它像

$('select[name="contact"]').change(function(){ 
    $(this).toggleClass('class1 class2'); 
}); 

對於這兩個類,你可以給背景色像

.class1 {background-color:pink;} 
.class2 {background-color:white;} 

即使你可以選擇類名

$('.changeBg').change(function(){ 
    $(this).toggleClass('class1 class2'); 
}); 

但是,更好的是,您可以切換或切換2個不同的班級,而不是changebg。因爲如果您切換該班級,那麼第二次更改事件將不起作用。

0
$(function() { 
     $('.changeBg').change(function() { 
      $(this).toggleClass('whileClass BlackClass'); 
     }); 
    }); 

    .whileClass { 
     background-color: pink; 
    } 

    .BlackClass { 
     background-color: white; 
    } 
+0

爲您的代碼添加一些解釋。 – InnocentKiller