javascript - 关于dataTable修改数据,重新生成表格的
PHP中文网
PHP中文网 2017-04-11 10:17:21
[JavaScript讨论组]

1 需求:第一页上有一个dataTable做出的表格,其中有一个是图标按钮,点击出发模态框,模态框的content也是一个dataTable,再次点击把表格的数据更换,再次生成dataTable,但现在并不能加入新的数据
我的代码如下

<body>
<p class="container">
    <table id="tableFront">
        <thead>
        <tr>
            <th>一级类目</th>
            <th>二级类目</th>
            <th>操作</th>
        </tr>
        </thead>
    </table>

    <!-- 点击后显示的模态框 -->
    <p class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
        <p class="modal-dialog">
            <p class="modal-content">
                <p class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">
                        &times;
                    </button>
                    <h4 class="modal-title" id="myModalLabel">
                        模态框(Modal)标题
                    </h4>
                </p>
                <p class="modal-body">
                    <table id="tableBack"></table>
                </p>
                
            </p><!-- /.modal-content -->
        </p><!-- /.modal -->
    </p>
</p>
<script>
    var dataBack=[
            {"name":"mike","job":"worker"},
            {"name":"lisa","job":"nurse"}
    ]

//    $("#data tbody").on("click","td.job",function(){
//        alert();
//    })

    var dataFront=[
        {"category_name":"政务","app_name":"公积金","btnModify":"<img src='modApp.png' data-toggle='modal' data-target='#myModal'/>"},
        {"category_name":"政务","app_name":"社保","btnModify":"<img src='modApp.png' data-toggle='modal' data-target='#myModal'/>"}
    ];
    $("#tableFront").DataTable({
        "data":dataFront,
        "columns":[
            {"data":"category_name"},
            {"data":"app_name"},
            {"data":"btnModify",
             "class":"btnModify"
            }
        ],
        createdRow:function( row, data, dataIndex ) {
            $("td.btnModify",row).click(function(){
            //   在这里判断第几次点击,如果不是第一次,就清出表格--》假数据--》绘制表格
                if(clickNum){
                    modalTable.clear();
                    makeModalTable.row.add({
                        "name":"jenna",
                        "job":"engineer"
                    });
                    modalTable.draw();
                }{
                    makeModalTable();
                }
                clickNum++;
            })
        }
    })
    var clickNum=0;
    var modalTable;
    function makeModalTable(){
         modalTable=$("#tableBack").DataTable({
            "data":dataBack,
            "columns":[
                {"data":"name"},
                {
                    "data":"job",
                    "class":"job"
                }
            ],
            "paging":false,
            "searching":false,
            "info":false
        })
    }
</script>
</body>
PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
PHPz

因为你并没有给模态框添加dataTable啊,既然是两个dataTable,但你只定义了一个,模态框里应该也定义一个单独的dataTable,在点击按钮时,刷新内部的dataTable数据,而不是使用同一个dataTable.

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号