【发布时间】:2014-02-03 20:03:54
【问题描述】:
我正在通过 JSON 数据动态创建一个表,但在同一 <tr> 中获取所有 <td> 元素,而不是两个不同的行。
JavaScript 部分:
$('button').click(function() {
var str = '[{"callType":"IN","extension":"150","name":"avis","phoneNumber":"9876541230","skill":"English","status":"INCALL","time":"10:50:23"},{"callType":"OUT","extension":"857","name":"sys","phoneNumber":"9658741235","skill":"Hindi","status":"WAITING","time":"08:40:51"}]';
var list = JSON.parse(str);
for (var i = 0; i < list.length; i++) {
var tr = $('#t').append('<tr class="laOriginal" value="user"></tr>');
var radioBtn = $('<input type="radio" name="radioAgent" value="' + list[i].name + '" />" id="radioAgent' + list[i].name + '"');
tr.append(radioBtn);
tr.append("<td>" + list[i].name + "</td>");
tr.append("<td>" + list[i].extension + "</td>");
tr.append("<td>" + list[i].skill + "</td>");
tr.append("<td>" + list[i].phoneNumber + "</td>");
tr.append("<td>" + list[i].status + "</td>");
tr.append("<td>" + list[i].callType + "</td>");
tr.append("<td>" + list[i].time + "</td>");
}
});
小提琴:Fiddle
如何在两个不同的行中获取数据?
【问题讨论】:
-
你不应该连接
"<td>" + list[i].name + "</td>":如果名字中有</td>会发生什么?您应该改用text函数。 -
@dystroy 如果名称中有 HTML,那么该 HTML 的结果会显示在
<td>中;如果他们至少可以保证它是正确的 HTML,那并不是真正的问题。
标签: jquery html json html-table