我已經動態地創建了表。該表的每一行都有一個「更新」鏈接。當我點擊該鏈接時,一切正常,但我在控制檯網絡(F12)中看到它生成多個Ajax請求而不是一個(同一個請求正在多次發送)。你能否檢查下面的代碼並幫助我解決問題。相同的jquery ajax請求被多次發送
$('#load_table').click(function() {
$.get('cont/get_table', function (data) {
var item = $('<table>');
$.each(data.results, function (i, res) {
var row = $('<tr>').append(
$('<td class="a">').html(res.id),
$('<td class="b" contenteditable="true">').html(res.title),
$('<td class="c" contenteditable="true">').html(res.text),
$('<td>').html('<a href="#" class="update">Update</a>'));
item.append(row);
});
$("#display").html(item);
$("body").on("click", ".update", function() {
var row = $(this).closest('tr');
var id = row.find('td.a').text();
var title = row.find('td.b').text();
var text = row.find('td.c').text();
$.post('cont/update_row', {
id: id,
title: title,
text: text
}, function (data) {
//display data
});
});
});
});
感謝您的回答。實際上,它並沒有和'class'一起工作,我把'class'改成了'id'。現在我把它改回'班',但問題仍然存在。你能檢查一下嗎? – EducateYourself 2014-10-05 15:09:34
發現你的錯誤 - 我想。在ajax調用之外移動body.on('click')函數。每次你打電話時,你都會爲每個更新按鈕添加另一個事件。 – Beri 2014-10-05 15:23:28
是的,你找到了。非常感謝 :) – EducateYourself 2014-10-05 15:30:54