在数据表列

时间:2016-12-30 17:18:59

标签: javascript jquery python django datatables

我试图将网址传递到"访客姓名",用户点击该用户,会弹出一个模式,显示一个表格,您可以输入/查看相关信息对那个特别的客人。我尝试过使用渲染功能,但是没有取得多大成功。如果我纯粹在Django中这样做,我希望相当于{%' namespace:guest_data_form' guest.pk%},它将调用视图以在模式中呈现表单。我如何在数据表中完成相同的工作?

<script type="text/javascript" language="javascript" class="init">
     $(document).ready(function() {
         $('#example').DataTable( {
             autoWidth: true,
             ajax: {
                 url: "{% url 'guest_data_api' guest.id %}"
             },
             columns: [
                 { "data" : "Room Number" },
                 { "data" : "Occupancy" },
                 { "data" : "Guest Name" },
                 { "data" : "Check In" },
                 { "data" : "Check Out" }
             ],
             "columnDefs": [
                 { "width": "15%", "targets": 2 }
             ]
         } );
     } );
</script>

1 个答案:

答案 0 :(得分:1)

Datatables允许您为&#34; data&#34;的值定义函数。因此,您可以将{"data" : "Guest Name"}替换为:

"data": function (row) {
    var $a = $('<a></a>').attr('href', row.guest_name.link).text(row.guest_name.text);
    return $a.prop('outerHTML');
}

这假设您要使用具有链接/文本属性的json对象替换guest_name列。您也可以将链接作为转义的javascript字符串传递,如果您知道它可以保证您的数据表/ js更简单。

在此处查看更多内容:https://datatables.net/reference/option/columns.data