我有一个数据表与表的数据。我有其他数据表,它是另一个的孩子。当我单击父数据表的一行时,它将加载具有已过滤行的子数据表。一个例子:我在父表中有一个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();