在我的应用程序中,有一个视图页面显示属性名称表作为标题,其值由下面的许多人填充。 像
Name Age salary
a 22 18912
b 23 89972
c 23 781273
我想要它像上面..
但我得到它
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>
如何创建一个新行来显示新行中的第2行和第3行值。请建议我.....
答案 0 :(得分:1)
要创建新行,请使用
$('table.entries').append('<tr></tr>');
您可能希望在添加之前为整行创建HTML,因为它会更快。
答案 1 :(得分:1)
看看你的代码,有几件事让我感到震惊:
标题后面有一个结束标记。但是,请考虑将JS放在单独的文件中。在最终结束体标记上方添加脚本引用(最好尽可能将它们添加到页面底部)
您正在使用eval()。我猜htm变量是JSON?您可以考虑使用JSON.org提供的json2.js中的JSON.parse()。
看看这篇文章是否会让你感到震惊。 Why is using the JavaScript eval function a bad idea?
否则,上述答案应该足够了。你可以给表一个ID,因为这个选择器是最快的。
使用这样的附加功能,最好在循环中构造所有html,然后在一个操作中进行追加。