我有JS函数,可以读取和汇总表格列:
function calculateValue() {
var sum = 0, index = 0;
var table = document.getElementById("mytab1");
for (var i = 1, row; row = table.rows[i]; i++) {
//alert(row.cells[4].firstChild.nodeValue);
sum += row.cells[4].firstChild.nodeValue;
index++;
}
//alert(sum / index + "_" + sum + "--" + index);
return sum / index;
}
这个表(“mytab1”)是一个动态表,一个.net C#repeater构建了这个表。 当我尝试提醒值时,只有表头工作,其他值为空,尽管其中有值。 任何想法为什么?
我的页面加载功能是:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
load_profiles();
ViewState["Time"] = "2";
LoadGoals(2,0); /* this function put List<> in Repeater and creates a table
with the values */
}
}
调用函数的js部分:
var def = {
百分比: calculateValue() || 0, 比例:100, 限制:真的, 最小值:0, 最大值:100, 后缀:'%', 动画:真的, digitalRoll:是的, thisCss:{ 位置:'亲戚', 宽度:'105px', 身高:'90px', 填充:'0px', border:'0px', fontFamily:'Arial', fontWeight:'250',
},
当表搜索循环中的函数警报时,我可以看到表中的值,并且Column标题也是警告他的值。 感谢。
答案 0 :(得分:1)
我建议您确定在哪里调用javascript:
var def = {
percentage: calculateValue() || 0, scale: 100, limit: true, minimum: 0, maximum: 100, suffix: ' %', animate: true, digitalRoll: true, thisCss: { position: 'relative', width: '105px', height: '90px', padding: '0px', border: '0px', fontFamily: 'Arial', fontWeight: '250',
},
是a)之后的
<asp:Repeater></asp:Repeater>
控制,或b)添加
$(document).ready(function() {
// Your code goes here
});
在您尝试从表中读取值之前,将修改强>
您可能还希望使用JQuery选择器来访问和求和值,而不是使用循环。
var sum = 0;
$('#mytab1 .your-new-table-cell-class').each(function() {
sum += Number($(this).val());
});
});