单击按钮时更新数据表(JQuery)

前端之家收集整理的这篇文章主要介绍了单击按钮时更新数据表(JQuery)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个简单的表单,我使用Datatables jQuery插件在其中显示一些数据.数据由PHP脚本(process.PHP)填充,该脚本以 JSON格式返回正确的结果.在表单中,有一个按钮,将文本框的值发送到process.PHP.问题是当单击按钮时,我无法使用process.PHP脚本接收的新数据更新/更改数据表.

表格的代码

<form name="myform" id="myform" action="" method="POST">  
    <label for="id">Enter an id:</label>  
    <input type="text" name="txtId" id="txtId" value=""/> 
    <input type="button" id="btnSubmit" name="btnSubmit" value="Search"> 
</form>

<div id="results">
    <table class="display" id="example">
        <thead>
            <tr>
                <th>id</th>
                <th>Surname</th>
                <th>Name</th>
            </tr>
        </thead>
        <tbody>
            <!-- data goes here -->
        </tbody>
    </table>
</div>

要创建数据表,我使用以下JQuery代码

$(document).ready(function() {
            var oTable = $('#example').dataTable( {
                "sPaginationType": "full_numbers","iDisplayLength": 10,//"bServerSide": true,"sAjaxSource": "process.PHP"
            } );

        $("#btnSubmit").click(function(){
            $.ajax({  
                type: "POST",url: "process.PHP",data: 'txtId=' + $("txtId").val(),success: function(result) {  
                    oTable.fnReloadAjax();
                    oTable.fnDraw();
                }  
            });
        });
    } );

process.PHP脚本(工作正常)是:

<?PHP
$result="";
if (empty($_REQUEST["txtId"])) {    
    $result = '{"aaData":[["1","Surname1","Name1"]]}';
}
else {
    $result = '{"aaData":[["2","Surname2","Name2"]]}';
}
print $result;
?>

解决方法

看起来你应该在设置数据时指定fnServerData,如果你想使用ajax POST: http://datatables.net/ref#fnServerData

您也可以不需要调用fnReloadAjax(),而只需要调用fnDraw(). fnReloadAjax()是一个插件函数,所以我假设你以前加载过它.

原文链接:https://www.f2er.com/jquery/178511.html

猜你在找的jQuery相关文章