更新选择字段的值更改的css

时间:2013-10-23 10:51:48

标签: jquery

嘿我的开发人员,我正在学习jquery并对执行一项简单的任务表示怀疑,请帮助我。

我有一个选择字段,其默认背景颜色为红色,但是当用户点击该字段并选择其他任何内容然后选择电子邮件地址时,我想将其背景颜色更改为白色。

<select id="email" style="background-color: red">
  <option value="">Select Email Address</option>
  <option value="abc@example.com">abc@example.com</option>
  <option value="test@example.com">test@example.com</option>
</select>

到目前为止,我已经能够执行onclick函数,但是如何在其中插入其值的编码。

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

4 个答案:

答案 0 :(得分:2)

我建议您将活动从.click()更改为.change()和 试试这个:

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

DEMO

答案 1 :(得分:1)

这里你去(我建议绑定.change事件而不是.click):

$('#email').change(function() {
    if ($(this).val().length) {
        $('#email').css({
            'background-color': 'white',
        });
    }
});
希望有所帮助。

答案 2 :(得分:1)

click()替换为change()

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

Demo Fiddle

只有在实际更改了值时才会触发

更改,而不是单击或仅打开/关闭

答案 3 :(得分:1)

你可以这样做:

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

演示:Fiddle