如何解决将行添加到表的正文时出错
| 这是我的代码。 我的问题与for循环内的append函数有关。传递给该函数的字符串无法正确解析,并且出现错误。我该如何纠正? 谢谢!function getDetailPopUp(detailBy)
{
$.getJSON(\'/index.cfm/reports/productivity/getDetailPopUp\',{
rollUpType:\'byUser\'
},function(result){
for (i=1;i<=result.length;i++)
{
$(\'#detailTable > tbody:last\').append(\'<tr><td>\'+ result[i][0]+ \'</td><td>\'+
result[i]][1]+ \'</td><td>\'+ result[i][2]+\'</td><td>\'+result[i][3]+ \'</td>
<td>\'+result[i][4]+\'</td><td>\'+result[i][5]+\'</td><td>\'+result[i][6]+\'
</td><td>\'+result[i][7]+\'</td><td>\'+result[i][8]+ \'</td></tr>\');
}
$(\"#details\").fadeIn();
});
}
<div id=\"details\" width=80%>
<table id=\"detailTable\" style=\"height:100px; overflow:scroll\">
<thead>
<th>Calls</th>
<th>Col2</th>
<th>Col3</th>
<th>Col4</th>
<th>Col5</th>
<th>Col6</th>
<th>Col7</th>
<th>Col8</th>
<th>Col9</th>
</thead>
<tbody>
</tbody>
</table>
</div>
解决方法
传递给函数的字符串
无法正确解析,而我
遇到错误。
字符串内不能有换行符:
$(\'#detailTable > tbody:last\').append(\'<tr><td>\'+ result[i][0]+ \'</td><td>\'+
result[i]][1]+ \'</td><td>\'+ result[i][2]+\'</td><td>\'+result[i][3]+ \'</td>
--> <td>\'+result[i][4]+\'</td><td>\'+result[i][5]+\'</td><td>\'+result[i][6]+\'
</td><td>\'+result[i][7]+\'</td><td>\'+result[i][8]+ \'</td></tr>\');
你有2英镑,还有3英镑。
这将起作用:
$(\'#detailTable > tbody:last\').append(
\'<tr><td>\'+ result[i][0]+ \'</td><td>\'+
result[i][1]+ \'</td><td>\'+ result[i][2]+\'</td><td>\'+result[i][3]+ \'</td>\'+
\'<td>\'+result[i][4]+\'</td><td>\'+result[i][5]+\'</td><td>\'+result[i][6]+
\'</td><td>\'+result[i][7]+\'</td><td>\'+result[i][8]+ \'</td></tr>\'
);
尽管出于可读性考虑,您最好还是:
$(\'#detailTable > tbody:last\').append(
\'<tr>\' +
\'<td>\' + result[i][0] + \'</td>\' +
\'<td>\' + result[i][1] + \'</td>\' +
\'<td>\' + result[i][2] + \'</td>\' +
\'<td>\' + result[i][3] + \'</td>\' +
\'<td>\' + result[i][4] + \'</td>\' +
\'<td>\' + result[i][5] + \'</td>\' +
\'<td>\' + result[i][6] + \'</td>\' +
\'<td>\' + result[i][7] + \'</td>\' +
\'<td>\' + result[i][8] + \'</td>\' +
\'</tr>\'
);
, 尝试这个。
$(\'#detailTable > tbody:last\').append(
\'<tr><td>\'+ result[i][0]+ \'</td><td>\'+
result[i][1]+ \'</td><td>\'+ result[i][2]+\'</td><td>\'+result[i][3]+ \'</td>\'+
\'<td>\'+result[i][4]+\'</td><td>\'+result[i][5]+\'</td><td>\'+result[i][6]+
\'</td><td>\'+result[i][7]+\'</td><td>\'+result[i][8]+ \'</td></tr>\'
);
我建议您使用模板来构建这种类型的标记。有许多可用的库,例如Underscore。
, 我相信三十点已发现您的问题。字符串以及一个额外的\'] \'内的换行符。
我还建议您在数组上使用javascript \的\'join \'函数,而不是将所有内容都明确地写出来。
$(\'#detailTable > tbody:last\').append(
\'<tr>\' +
\'<td>\' + result[i].join(\'</td><td>\') + \'</td>\'
\'</tr>\'
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。