2011-01-08 106 views
1

我的jquery代碼在ff,chrome,opera,safari中工作,但它在ie中不起作用。我收集的數據是html格式。我必須改變什麼?jquery post不起作用,即ie

$("input[type='radio'][name='dishType']").change(function() { 
    var dishType = $(this).val(); 
    $.post('index.py/ingredients', { 'q' : dishType}, function(data) { $('.ingredients').html(data)}); 
}); 
+0

那麼,問題是什麼?如何在IE下無法使用? – 2011-01-08 11:07:47

+0

可能不會編輯您的問題,事件是否真的被解僱? – 2011-01-08 11:13:45

+0

@Gareth Davis:它在所有的瀏覽器中都可以使用,但在ie中似乎不是 – Gasper 2011-01-08 11:26:33

回答

0

它實際上可能不是AJAX調用。

您是否檢查過任何尾隨的,或其他語法錯誤(嘗試jslint)IE對語法非常嚴格,它可能是問題而不是實際的AJAX調用它自己。

話雖如此,它可能只是IE瀏覽器不會在單純改變單選按鈕的值時觸發「更改」事件,而是等待它失去焦點(模糊)。請參閱change event上的quirksmode文檔。似乎記住周圍的工作是聽取點擊而不是「改變」。

3

如果您單擊單選按鈕外的某處,則「更改」事件將僅在IE中觸發。要解決這個問題,你還應該聽取「點擊」事件。

0

你可以嘗試從q中刪除引號。你不需要添加它.. IE可能會搞砸了..不知道..但值得一試..

而且你可以嘗試在回調函數中發出警報,看看你是否真的得到了迴應。

希望能幫到