我有一个填充了数据的表,然后我需要使用它来运行第二个查询。我正在使用jquery数据表,这些是你看到的功能,允许我从表中获取所有内容。所以例如我像这样从第四列中获取一个整数然后使用该数字来运行json响应的查询:
var cells = [];
var rows = oTable.fnGetNodes();
for( var i=0;i<rows.length;i++)
{
var grabsku = $j(rows[i]).find('td:eq(3)').text();
grabsku = grabsku.substring(0, 6) + "-0" + grabsku.substring(7, grabsku.length - 4);
s7url = 'http://jsonquery.com/' + grabsku + '?req=exists,json';
$j.ajax({
url: s7url,
dataType: 'jsonp'
});
}
然后使用该ajax请求,json返回1或0,然后我可以根据返回的内容形成正确的信息。
function s7jsonResponse(response)
{
var s7img = sku;
s7img = '<img src="http://imageserver.com/is/image/' + s7img.substring(0, 6) + "-0" + s7img.substring(7, s7img.length - 4) + '">';
x = response["catalogRecord.exists"];
z = x == "0" ? "NO IMG" : s7img;
console.log(z);
}
控制台现在向我显示我想要的z变量,图像路径或NO IMG。我的问题是将其从控制台中取出并实际返回到表中。我想要发生的是每个响应都用z变量替换表中的td。我试着将它放在jsonResponse中,但它无法正常工作。我怎么能遍历表格,在这种情况下(td:eq(2))
并用变量z
替换每个单元格我从这个查询中回来了?
答案 0 :(得分:0)
需要创建一个函数来执行ajax,您可以将行索引和包含数据查询字符串的url作为参数传递。由于你知道了单元索引,一旦从ajax返回数据,你就可以调用fnUpdate
来使用ajax成功的新数据和行索引
var cells = [];
var rows = oTable.fnGetNodes();
for (var i = 0; i < rows.length; i++) {
var grabsku = $j(rows[i]).find('td:eq(3)').text();
grabsku = grabsku.substring(0, 6) + "-0" + grabsku.substring(7, grabsku.length - 4);
s7url = 'http://jsonquery.com/' + grabsku + '?req=exists,json';
var rowIndex = i;
doAjax(s7url, rowIndex)
}
function doAjax(url, rowIndex) {
$j.ajax({
url: s7url,
dataType: 'jsonp',
success: function(repsonse) {
var s7img = sku;
s7img = '<img src="http://imageserver.com/is/image/' + s7img.substring(0, 6) + "-0" + s7img.substring(7, s7img.length - 4) + '">';
x = response["catalogRecord.exists"];
z = x == "0" ? "NO IMG" : s7img;
console.log(z);
/* do fnUpdate here using new data and rowIndex and you know the cell index already*/
}
});
}