Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JQuery创建表结构_Jquery - Fatal编程技术网

使用JQuery创建表结构

使用JQuery创建表结构,jquery,Jquery,在我的应用程序中,有一个视图页面显示属性表名称作为标题,其值由下面的许多人填充。 像 我想要上面那样的东西。 但我得到的是 Name Age Salary a 22 18912 b 23 89972 23 781273 我使用JQuery从Mysql表中检索这些值,并从Cakephp控制器代码中查看这些值 <head> <script type="text/javascript"> $(document).ready(function(){

在我的应用程序中,有一个视图页面显示属性表名称作为标题,其值由下面的许多人填充。 像

我想要上面那样的东西。
但我得到的是

Name Age Salary
 a   22  18912  b 23 89972 23 781273
我使用JQuery从Mysql表中检索这些值,并从Cakephp控制器代码中查看这些值

<head>
  <script type="text/javascript">
    $(document).ready(function(){
      var ht = $.ajax({
        type: "GET",
        url: "http://localhost/FormBuilder/index.php/admins/viewEntries/"+formid,
        async: false
      }).responseText;
      var myObject = eval('(' + ht + ')');
      var data = myObject;var last;
      $.map(data.labels, function(i){
        last=i.label;
        $("<th>"+i.label+"</th> ").appendTo("#headers");
      return i.label;});

      var htm = $.ajax({
        type: "GET",
        url: "http://localhost/FormBuilder/index.php/admins/viewResults/"+formid,
        async: false
      }).responseText;
      var myObject1 = eval('(' + htm + ')');
      var data1 = myObject1;
      $.map(data1.values, function(i){
        $("<td>"+i.value+"</td> ").appendTo("#body");
        if(last==i.label){
          // where i thought to create a new row for 2 row
        }
      return i.value;});
    });
  </script>
</head>
</body>
  <table class="entries" cellspacing="0" cellpadding="3" border="1">
    <tr id="headers"></tr>
    <tr id="body"></tr>
  </table>
</body>

$(文档).ready(函数(){
var ht=$.ajax({
键入:“获取”,
url:“http://localhost/FormBuilder/index.php/admins/viewEntries/“+formid,
异步:false
}).responseText;
var myObject=eval(“(“+ht+”)”);
var数据=myObject;var last;
$.map(data.labels,函数(i){
last=i.标签;
$(“”+i.label+“”)。附加到(“#标题”);
返回i.label;});
var htm=$.ajax({
键入:“获取”,
url:“http://localhost/FormBuilder/index.php/admins/viewResults/“+formid,
异步:false
}).responseText;
var myObject1=eval('('+htm+');
var data1=myObject1;
$.map(data1.values,函数(i){
$(“+i.value+”)。附加到(“#正文”);
if(last==i.label){
//我想为2行创建一个新行
}
返回i.value;});
});

如何创建新行以在新行中显示第二行和第三行值。请建议我…

创建新行使用

$('table.entries').append('<tr></tr>');
$('table.entries')。追加(“”);

您可能希望在添加之前为整行创建HTML,因为这样会更快。

查看您的代码,我想到了以下几点:

标题后有一个结束正文标记。但是,考虑把JS放在一个单独的文件中。将脚本引用添加到最终结束正文标记的正上方(最好将它们添加到尽可能靠近页面底部的位置)

您正在使用eval()。我猜htm变量是JSON?您可以考虑使用JSON.org中的JSON2.JS提供的JSON.PARSER()。p> 看看这篇文章是否能打动你。

否则,上述答案就足够了。您可以给表一个ID,因为这个选择器是最快的

对于这样的添加,最好在循环中构造所有html,然后在一个操作中进行追加

$('table.entries').append('<tr></tr>');