我正在尝试在我网站的弹出窗口中显示来自 Web API 的结果。结果需要格式化为弹出窗口内的表格,其中可以设置列数(在下面的示例中设置为 2 列)。我正在使用 $.each 语句来遍历数据并构建 html 表,但会出现错误(请参阅下面的注释)。此外,我的弹出窗口期待内容的字符串值(请参阅下面的变量“内容”),因此不确定如何最好地使用表值创建字符串。请参阅下文了解我遇到的问题 - 感谢您的帮助,如有问题请告诉我。谢谢。
我的数据样本:
[
{
"var1": 1,
"var2": "foo"
},
{
"var1": 2,
"var2": "bar"
},
{
"var1": 3,
"var2": "etc"
}
]
获取样本数据并在弹出窗口中显示的函数:
function GetData() {
var html = true;
var numCols = 2; //assign the number of columns to build
$.ajax({
url: 'http://my/api/call',
type: 'GET',
dataType: 'json',
success: function (data) {
debugger;
var content = "";
var i = data.length;
$.each(data, function (key, val) {
if (!(i % numCols)) tRow = $('<tr>');
tCell = $('<td>').html("<span class=\"content-big\">" + val.var1+ "</span><span class=\"content-small\"> " + val.var2+ "</span> ");
content = $('table').append(tRow.append(tCell)); //ERROR: tRow is not defined
$('.popup').popover({
content: content,
html: html
});
},
error: function (x) {
alert(x);
}
});
}
更新:
对于 2 列布局,应该看起来像
--------------
1 foo | 3 etc
2 bar |
--------------