0
工作,我有這樣的Ajax代碼下面被返回的該數據通過一個特定的類別ID的產品列表:jQuery的。每次不是在IE9
列表中,然後通過一個循環顯示的一個。
以下代碼適用於Chrome和Firefox,但在IE9中它只會顯示第一個產品。
function getProducts(catID) {
$('#ChangeContent').html('');
$.ajax({
type: "POST",
url: "Mainpage.aspx/GetProducts",
data: "{categoryID:" + catID + " }",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
allProducts = msg.d;
$.each(msg.d, function (i, value) {
var desc = "";
if (value.description.length > 70) {
desc = value.description.substring(0, 67);
desc += " ...";
}
else {
desc = value.description;
}
var htmll = "<div class='OutsideDiv' onclick='displayProduct(" + value.productID + ")'><table class='DivBorder'> <tr > <td class='imageBox'><img alt='' src='" + value.image + "' /></td> </tr> <tr > <td class='title'>" + value.name + "</td>";
htmll += " </tr> <tr> <td class='desc'>" + desc + " </td> </tr> <tr> <td class='price'>€" + value.price + "</td> </tr> </table></div>";
htmll += " <script type='text/javascript'>$('.DivBorder').mouseover(function(){$(this).css('border-color', '#cb510a');$(this).css('background-color', '#e2e2e2');});$('.DivBorder').mouseout(function(){$(this).css('border-color', '#bdbdbd');$(this).css('background-color', '#f6f6f6');});";
$('#ChangeContent').append(htmll);
});
},
error: function (error) {
alert("Errorrrrrr");
}
});
};
我曾嘗試尋找這個問題,但無法找到,其中包括。每個阿賈克斯
任何幫助將非常感激這裏面同樣的問題。
有與'$'。每次在IE9()沒有問題。如果它僅迭代第一個項目,那麼可能意味着導致代碼停止的錯誤。檢查你的開發者控制檯 –
...也許是因爲您追加的''。你爲什麼要追加一個這樣的腳本?您將一遍又一遍地將相同的事件綁定到相同的'.DivBorder'元素。 –
是的,就是這樣,結束標記,我忘了在刪除部分字符串後添加它。我不得不追加這樣的腳本,因爲當我將mouseover代碼放在外部.js文件中時,它們並未被解僱。你有什麼建議,以消除腳本附加部分,只留下HTML? – drinu16