【问题标题】:dataTables make <tr> clickable to linkdataTables 使 <tr> 可点击链接
【发布时间】:2014-11-12 19:03:26
【问题描述】:

我在http://communitychessclub.com/test.php 有一个dataTables 表

我的问题是我需要使整个表格行可点击到基于游戏的链接#。该表列出了游戏,用户应单击一行并加载实际游戏。

我无法理解以前解决此问题的方法。有人可以简单地解释一下吗?

我之前在http://communitychessclub.com/games.php 做过这个(但那个版本太冗长了,并且用 php echo 进行磁盘写入) 与

echo "<tr onclick=\"location.href='basic.php?game=$game'\" >"; 

<script>$(document).ready(function() {
$('#cccr').dataTable( {
    "ajax": "cccr.json",

   "columnDefs": [
        {
            "targets": [ 0 ],
            "visible": false,
        }
    ],

    "columns": [
        { "data": "game" },
        { "data": "date" },
        { "data": "event" },
        { "data": "eco" },
        { "data": "white_rating" },
        { "data": "white" },
        { "data": "black_rating" },
        { "data": "black" }
    ]
    } );
  } );</script>

“cccr.json”看起来像这样,很好:

{
"data": [
{
"game": "5086",
"date": "09/02/2013",
"event": "135th NYS Ch.",
"eco": "B08",
"white": "Jones, Robert",
"white_rating": "2393",
"black": "Spade, Sam",
"black_rating": "2268"
},
...

【问题讨论】:

    标签: datatables


    【解决方案1】:

    你可以这样做:

    使用 fnRowCallback 将游戏 ID 数据属性添加到您的数据表行

    ...
        { "data": "black" }
        ],
            "fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
                //var id = aData[0];
                var id = aData.game;
                $(nRow).attr("data-game-id", id);
                return nRow;
            }
    

    这将为表格中的每一行提供一个游戏 id 属性,例如:

    <tr class="odd" data-game-id="5086">
    

    然后为 click 事件创建一个 javascript 侦听器并重定向到游戏页面,并传递从 tr 数据属性中获取的游戏 ID:

    $('#cccr tbody').on('click', 'tr', function () {
       var id = $(this).data("game-id");
       window.location = 'basic.php?game=' + id;
    }
    

    【讨论】:

    • 我在fnRowCallback 中更新了分配给id 的值。到底是什么投反对票?
    • 我修改后你试过了吗?顺便说一句 - 你应该阅读'When should I vote down' 上的指南
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    • 2010-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多