2011-06-07 69 views
0

目前我正在试图建立一个基于一个下拉选择一个Ajax/PHP的网格。阿贾克斯下拉列表中选择和网格(PHP)

首先在页面上我有一个下拉选择框,选择上一个变量传递到执行SELECT语句中的PHP页面,我赞同一个表网格出来的页面。

我一直在使用jQuery的库/ jquery.dataTables.js使表进行排序,并且易于操作。表/网格输出,但排序列和分页不起作用任何人都可以帮助Ps。我也试过其他网格库,并且不工作?

请参阅使用下面这就是代码:

<script type="text/javascript" src="/js/jquery-1.5.1.js"></script> 
<script type="text/javascript" src="/js/jquery.dataTables.js"></script> 
<script type="text/javascript" charset="utf-8"> 
$(document).ready(function() { 
    $('table#example').dataTable({ 
     "sPaginationType": "full_numbers" 
    }); 
}); 
</script> 


<script type="text/javascript"> 
function selMetal(str,str2){ 
    if (str==""){ 
    document.getElementById("txtHint").innerHTML=""; 
     return; 
    } 
    if (window.XMLHttpRequest){ 
     // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
    }else{ 
     // code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange=function(){ 
     if (xmlhttp.readyState==4 && xmlhttp.status==200){ 
      document.getElementById("txtHint").innerHTML=xmlhttp.responseText; 
     } 
    } 
    xmlhttp.open("GET","sql.php?m="+str+"&s="+str2,true); 
    xmlhttp.send(); 
} 
</script> 

然后PHP脚本出回声表其间

感谢您提前帮助。

回答

1

你不必使用检测浏览器,并AJAX调用。只需使用.ajax()方法。您应该使用此代码:

<script type="text/javascript"> 

function selMetal(str,str2){ 
    if (str==""){ 
    document.getElementById("txtHint").innerHTML=""; 
     return; 
    } 

    $.ajax({ 
     url: "sql.php", 
     data: {m:str, s:str2}, 
     success: function(data) { $("#txtHint").html(data); }, 
     dataType: "html" 
    }); 

} 

</script> 

不确定这会解决您的问题与否。试试看:-)

+0

谢谢,但我的代码正在将变量发送到PHP,但是发生了什么事情是一个表被回显出来的PHP这是回声在一个div之间:

Column 1Column 2
data 1data 1data 2data 2
,我使用jquery的数据表库来对列进行排序,但排序不起作用。如果我的表是不是从PHP呼应和表剪切并粘贴到HTML页面,则排序works.Does谁知道为什么该表的排序是行不通的。 – Dino 2011-06-07 18:02:35