2014-04-02 54 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