我的javascript代码中存在以下问题。 我尝试将ajax响应放入表中。 一切正常。 但现在我试图在每个条目的一列中显示s porgressbar。 不要工作。
以下是完成这项工作的主要代码:
[...]
,success:function(data) {
$("#table").empty();
$.each(data,function(index,Data) {
var process_result = Data.accuracyI;
var id = Data.UIDI;
if (Data.entire == 0) {
$("#entire").text("No succeed").css({
"color": "red",
"font-weight": "bold"
});
} else {
$("#entire").html(Data.EntireI).css({
"color": "green",
"font-weight": "bold"
});
$tr = $("<tr/>");
$tr.append($("<td/>").text(Data.lastNameI));
$tr.append($("<td/>").text(Data.firstNameI));
$tr.append($("<td/>").text(Data.aliasI));
$tr.append($("<td/>").text(Data.pepI));
$tr.append($("<td/>").text(Data.dobI));
$tr.append($("<td/>").text(Data.place_of_birthI));
$tr.append($("<td/>").text(Data.countriesI));
$tr.append($("<td/>").html("<div id='" + id + "'></div>"));
$tr.append($("<td/>").html(Data.PDFI));
$("#result").append($tr);
$(id).progressbar({
value: process_result
});
}
});
[...]
所以在这里你可以看到代码。 我的问题是,'Countries'后面的列中的进度条没有显示每个条目 - 只是表格中的第一个。 奇怪的是,如果我将'div'元素更改为,例如varibale process_result,表格的每个条目都会正确显示自己的数字。
那么我必须改变的是什么错误呢?
很多。
答案 0 :(得分:1)
var id = Data.UIDI;
[...]
$(id).progressbar({
value: process_result
});
变量id
应该代表一个选择器。见API
$('#' + id).progressbar({
value: process_result
});
答案 1 :(得分:0)
由于你仍然在每个循环中,你可以这样做,更符合你的代码:
var $div = $("<div></div>").attr("id", id);
$tr.append($("<td/>").append($div));
$tr.append($("<td/>").html(Data.PDFI));
$("#result").append($tr);
$div.progressbar({
value: process_result
});