2010-04-07 56 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