2014-01-20 82 views
1

我正在尝试一些非常基本的东西,但我不能得到我的头附近它...更改颜色选择>选项更改

很简单,但我要去圈:我想要背景当选择与其关联的RESET文本的OPTION时,我的页面中的BODY变为橙色。

如果它是一个数字(1,2或3),背景变成白色。

这里是我的代码:http://jsfiddle.net/PQW88/2/

$(document).ready(function() { 

    var reset = $('option:selected').text(); 

    if (reset === 'reset') { 
     $('body').css('background-color', 'orange'); 
    } 
    else { 
     $('body').css('background-color', 'white'); 
    } 

}); 

似乎无法正确地瞄准它,因为它总是橙色,没有任何错误......

在此先感谢!

+5

你不听'change'事件! – undefined

+0

哦......那将如何翻译? – Neonjack

回答

2

您需要使用change()事件来检测时,您的选择值已经改变:

$(document).ready(function() { 

    $('select').on('change',function() { 
     var reset = $('option:selected').text(); 
     if (reset === 'reset') { 
      $('body').css('background-color', 'orange'); 
     } 
     else { 
      $('body').css('background-color', 'white'); 
     } 
    }); 

}); 

Updated Demo

+0

太棒了!这固定它,谢谢! – Neonjack

+0

@Neonjack很高兴帮助:D – Felix

2

您还没有使用这样的:

$('select').change(function() { 
    var reset = $('option:selected').text(); 
    if (reset === 'reset') { 
    $('body').css('background-color', 'orange'); 
    } else { 
    $('body').css('background-color', 'white'); 
    } 
} 

你需要的一切都select及其change事件。然后功能会继续。