0

データテーブルと fnRowCallback の使用。

2列目の各行にクリックをバインドしようとしています。テーブルは正しい変数を使用して 2 列目に正しいアンカーを返していますが、リンクをクリックすると、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 に答える