1

单击按钮时,我有数据表来显示来自服务器的值。这是一种搜索功能。如果更改搜索文本框的值并再次单击,则不会反映更改。

第二次数据表未显示正确的值。

jQuery("#dialog-form").dialog ({ 
autoOpen: false,
height: 500,
width: 750,
modal: true,
buttons : {
"Search" : function() {
 jQuery.ajax({
 url : 'action="part"/>',
 data : {"product" : $("#productsTextArea").val()},
 dataType : 'json',
 success : function(data){
 var newarray=[];
 while(data.length > 0)  {
 newarray.push(data.splice(0,2));

 }

oTable = $("#products").dataTable({
        "aaData" : newarray,
        "bProcessing" : true,
        "sPaginationType" : "full_numbers",
        "bDeferRender": true,
        "bJQueryUI" : true,
        "bRetrieve" : true,
        "bPaginate" : true,
        "bSort" : true,
        "aaSorting" : [[ 4, "desc" ]],
        "iDisplayLength" : 15,
        "aoColumnDefs": [
            {"fnRender": function(o, val){

                    return o.aData[0];
                },
                "sClass":"prod", "aTargets": [ 0 ] },
            {"fnRender": function(o, val){

                    return o.aData[1];
                },
                "sClass":"Description", "aTargets": [ 1 ] }
                ]
        });
4

1 回答 1

0

我认为您需要在每个 ajax 调用上重新初始化 DataTables:

success : function(data){
    oTable();
    var newarray=[];
    while(data.length > 0)  {
    newarray.push(data.splice(0,2));
}
于 2013-06-24T16:30:26.033 回答