2010-04-07 57 views
0

我有一个jQuery选择,它在大多数浏览器axcept IE的作品。代码如下:jQuery选择不工作在IE7

<script type="text/javascript"> 
     function parseCatSelect() 
     { 
      $('#d_cat select:empty').parent().html('<p><span class="placeholder">No categories available</span></p>'); 
      $('#d_cat select').attr('name', 'e'); 
     } 

     function loadCategories() 
     { 
      $('#d_cat').html('<p><span class="placeholder">Please wait&hellip;</span></p>').load('/brand_categories.asp', {label: $('#d_brand select option:selected').val()}, parseCatSelect); 
     } 

    $('#d_brand').load(
     '/brands.asp', 
     function() { 
      $('#d_brand select').attr('name', 'd').live('change', loadCategories).trigger('change'); 
     } 
    ); 

</script> 

任何人都可以帮助解决这个问题吗?你可以在www.wearecapital.com上看到这个实况(在FireFox中)。

谢谢。

+1

哪一点不工作? – 2010-04-07 12:25:29

+0

我们可以看到您的HTML吗? – MDCore 2010-04-07 12:38:39

回答

3

我会改变这一点:

.live('change', loadCategories) 

要这样:

.change(loadCategories) 

你了ajax负荷后重新绑定,无论如何,所以.live()是不是给你多少...,然后我在角落案例中遇到了很多问题,change在IE中仍然没有完全正确的泡泡。

默认情况下,它根本不起泡,jQuery在这里做了一些魔术来冒泡事件,但它还不完美。还要注意的是它没有泡沫在IE(甚至通过jQuery)所有直到1.4+,你在1.3.2查看的页面,所以.live()不会与change在IE工作所有。

+0

此外,'live'不能与'id'选择器一起使用 – geowa4 2010-04-07 12:32:06

+0

需要了解有关在IE中冒泡的很好的信息 – confiq 2010-04-07 12:32:40

+0

选择正在工作,但是当您单击IE7中的'Go'按钮时没有任何反应。 IE8似乎很好。 – doubleplusgood 2010-04-07 12:37:45