过滤其他数据表后加载数据表

时间:2014-04-02 07:50:15

标签: jquery ajax datatables master-detail

我有一个数据表与表的数据。我有其他数据表,它是另一个的孩子。当我单击父数据表的一行时,它将加载具有已过滤行的子数据表。一个例子:我在父表中有一个PK代码1的提供者。如果我在子表中的那一行中单击将出现提供者的所有文章1.如果我在子表中单击提供者2将出现所有第二个提供者的文章。 我已经完成了它,但问题是子数据表不是那样加载的。它像一个简单的html表一样加载,而不像数据表。 我把这里的代码加载并捕获所选行的值,带有ajax请求的js文件用于刷新子表和用于加载表的php代码。

加载表格

$(document).ready( function () {
    var oTable=$('#PRESUP').dataTable( {
        "sDom": 'T<"clear">lfrtip',
        "oTableTools": {
                "sRowSelect": "single"
        }
    } );
    oTable.$('tr').click( function () {
        var data = oTable.fnGetData( this );
        var serie=data[0];
        var numero=data[1];
        var nombre=data[3];
        var vendedor=data[4];
        $("#prueba1").val(serie); 
        $("#prueba2").val(numero);
        $("#seriedel1").val(serie);
        $("#numerodel1").val(numero);
        $("#nombre1").val(nombre);
        $("#vendedor1").val(vendedor);
        load();
        $("#eds").val(serie);
        $("#edn").val(numero);
      } );
    var oTable2=$('#PRESUP_D').dataTable( {
        "sDom": 'T<"clear">lfrtip',
        "oTableTools": {
            "sRowSelect": "single"
        }

    } );
    oTable2.$('tr').click( function () {
        var data = oTable.fnGetData( this );

      } );
} );

AJAX

function load()
{
    var serie=document.getElementById("prueba1").value;
    var numero=document.getElementById("prueba2").value;
    var xmlhttp;

    if (window.XMLHttpRequest){

        xmlhttp=new XMLHttpRequest();
    }
    else{

        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("PRESUP_D").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("POST","mostralle.php",true);
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send("serie="+serie+"&numero="+numero);
}

PHP

include"conexion.php";
        $serie=$_POST['serie'];
        $numero=$_POST['numero'];
        mysql_connect($servidor, $usuario, $clave)or die    (mysql_errno().mysql_error());
        mysql_select_db($basedatos)or die (mysql_errno().mysql_error());
        $result=mysql_query("SELECT Serie, Numeroas, Numlinea, Codart, Cant, Descripcion, Precio, Tipoiva, Subtotal FROM PRESUP_D WHERE Serie='$serie' AND Numeroas='$numero'");
        while($row=mysql_fetch_row($result)){
            echo "<tr>";
            for($i=0;$i<mysql_num_fields($result);$i++){
                echo "<td>$row[$i]</td>";
            }
            echo "</tr>";
        }
        mysql_close();

0 个答案:

没有答案