2012-01-28 67 views
1

行,所以我有一个jQuery .change为什么不工作在IE8的.change

$('#application').change(function(){ 
var selected = $(this).val().trim(); 
alert(selected); 
if(selected == 'something') { 
    $('#profile-info').show(); 
} 
.... 
.... 

我的HTML

<select name="application" id="application"> 
<option value="--select something--">--select something--</option> 
<option value="first">first</option> 
<option value="second">second</option> 
<option value="third">third</option></select> 

在所有浏览器IE,但警报火灾..... IE8和7在所有

任何想法不工作我可能会丢失

回答

5

这是因为IE9下面的任何东西都不支持“修剪”方法。

如果你摆脱装饰的,它工作得很好:

$('#application').change(function(){ 
    var selected = $.trim($(this).val()); 
    alert(selected); 
    if(selected == 'something') { 
     $('#profile-info').show(); 
    } 
}); 

检查错误控制台在IE开发者工具(按F12),看看您收到JavaScript错误。

查看我在IE8工作的示例:http://jsfiddle.net/Ku8HL/1/

编辑:jQuery实际上有一个修剪方法,所以你可以使用$ .trim来完成相同的事情。 IE8及其下面的String对象没有修剪方法。我已经更新了上面的代码和jsfiddle以包含jQuery trim方法。

0

IE没有发挥好这种情况。根据this SO question,您应该听取点击。

编辑:显然我的眼睛决定今天IE8是IE7。