2013-01-08 112 views
1

我有對功能的jQuery的,在除了IE以外的瀏覽器上運行的一些問題jQuery的 - 上(「變」,()函數在IE無法正常工作9

jQuery代碼如下:

$('#FormIndustryId, #FormIndustries').on("change", function() { 
    if ($(this).val()) { 
    $.getJSON('/categories/list_categories/industry_id:' + $(this).val(), 
    function (cats) { 
     if (cats !== null) { 
     populateCategorySelect(cats); 
     } 
    }); 
    } 
}); 

從一個前端點這可以在這裏進行測試:http://www.beanclaim.com/ - 不存在具有的產業選擇的標籤的字段是與分配給它#FormIndustries下拉,應該當選擇行業更新第二個下拉菜單是ajax內容,Chrome,Firefox和Safari都有效,但它似乎什麼都不做在IE中。

任何想法我做錯了什麼?由於

+0

你確定這個ID是唯一的嗎? – ATOzTOA

+0

嘗試記錄'$(this).val();' – ATOzTOA

+0

我沒有找到id爲FormIndustryId的任何元素。也許$('#FormIndustryId,#FormIndustries')表達式返回一個空數組。試着只把你的#FormIndustries。 – MatRt

回答

2

這是因爲只有在IE中你有這樣的代碼執行:

// IF IE (BROWSER) USE jQUERY TO SET THE PLACEHOLDER 
    // --------------------------------------------------> 
    if ($.browser.msie) { 
     $("#TemplateName").placeholder(); 
     $("#FormIndustries").placeholder(); 
    } 

但是,返回該JS錯誤:

SCRIPT438: Object doesn't support property or method 'placeholder' 

並停止您的JS正常執行。我不知道佔位符是什麼(IE也沒有:)),但是如果你修復了這個問題,那麼這個頁面在IE中工作得很好。

+0

謝謝,這是問題,我沒有在此頁面上包含佔位符腳本。 – sluggerdog

0

寫完全相同的功能,但使用進行復制:

$('#FormIndustryId, #FormIndustries').on("click", ...