使用datatables和fnRowCallback。
我正在尝试将click绑定到第二列的每一行。 该表使用正确的变量返回第二列中的正确锚点,但是当我单击链接时,ajax将每个锚点作为相同的用户ID发送。
我想我需要使用.each()。点击,但我尝试的每件事都不起作用。
任何人都知道我做错了什么.....
"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
$('td:eq(1)', nRow).html('<a href="#" id="view_log.php?userid='+ aData[1] +'&acyear='+ aData[2] +'" class="view_log">'+ aData[3] +'</a>').click(function() {
var url = $('.view_log').attr("id");
var timestamp = (new Date()).getTime();
$("#table_container").hide();
$(".themenu").hide();
$("#log").show();
$.ajax({
type: "GET",
url: ''+url+'&x='+timestamp,
dataType: "html",
success: function(data) {
$("#log").html(data);
}
});
});
}
答案 0 :(得分:1)
$('.view_log').attr("id");
只会出现第一次。
在此SO页面中,在控制台中尝试:
$('.post-tag') //returns all the tags element
$('.post-tag').attr('href') //returns only the href value of the first occurrance
在处理程序中,指定事件参数,然后使用$(e.target)
代替。
所以$(e.target).attr('id')
应该完成这项工作。
... .click(function(e){
var url = $(e.target).attr('id');
});