【问题标题】:Datables create column header via ajax数据表通过 ajax 创建列标题
【发布时间】:2017-06-02 06:44:28
【问题描述】:

如何从 ajax 文件制作标题?像这样我已经尽力了

$('#btntrack').on('click', function() {
            var KPNo = $('#KPNo').val();
            var dataString = 'KPNo='+ $('#KPNo').val();
            //console.log(dataString);
            $.ajax({
                type: "GET",
                url: host+"ajax/tracking/kp",
                data: dataString,
                dataType: 'json',    
                "success": function(json) {
                    var tableHeaders;
                    $.each(json.data[0], function(i, val){
                        tableHeaders += "<th>" + val + "</th>";
                    });

                    $("#tableDiv").empty();
                    $("#tableDiv").append('<table id="tbltrackkp" class="dataTable table table-bordered table-hover table-full-width" cellspacing="0" data-table="kp" width="100%"><thead><tr>' + tableHeaders + '</tr></thead></table>');

很好,但是当我添加这些代码时

$('#tbltrackkp').find('tbody').on('click', 'td.details-control', function () {
                        var code = $(this).find('a').attr('id-kp');
                        var modal = $('.bs-modal-lg');
                        var modalData = jQuery.parseJSON(ajaxPOST(code,'ajax/actionkp',null,true));

                        modal.find('.modal-title').html(modalData.title);
                        modal.find('.modal-body').html(modalData.body);
                        modal.find('.modal-footer').html(modalData.footer);

                        modal.modal('show');
                    });

根本不工作,我需要在每个 td tbody 上显示模式,但没有发生,即使在网络中(inpsect 元素),也没有获得链接操作。我该怎么办??

你没有看到我的问题!!我正在使用数据表,而这个问题没有使用数据表,这很糟糕!

现在正在更新,我正在编辑每个 td 的标签,我添加了 id="trackingaction",在 jquery 上,我将 tbltrackkp 上的 jquery 函数更改为 $(document).on('click', '#trackingaction', function ()

Oluwafemi Sule 的 Tq

【问题讨论】:

  • @Curiousdev,不,不是,我只是在桌子上使用,id 形式 td 是不同的。所以它不会重复。
  • "在标签上我添加的每个 td id="'trackingaction'" 听起来不对。ID 必须是唯一的。您确定它有效吗?跨度>

标签: javascript php jquery ajax datatables


【解决方案1】:

由于#tbltrackkp 被动态插入到文档中,$('#tbltrackkp').find('tbody').on('click', '... 不会注册,因为它在运行时不存在。

您可以将侦听器设置为主体,并且仅在它以这种方式传播到您的选择时才调用处理程序:

$('body').on('click', '#tbltrackkp tbody td.details-control', function () { ... }

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多