0

使用数据表和 fnRowCallback。

我正在尝试将点击绑定到第二列的每一行。该表在第二列中返回正确的锚点以及正确的变量,但是当我单击链接时,ajax 将每个都作为相同的用户 ID 发送。

我想我需要使用 .each().click 但我尝试的每件事都不起作用。

任何人都知道我做错了什么......

    "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);
        }
       });
    });

    }
4

1 回答 1

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');
});

演示

于 2013-03-05T13:33:42.370 回答