我有我的视图中具有计算列的表中的记录列表。表中只计算第一行的计算字段 - 循环遍历表中的行以计算列值
从图像,所讨论的列是加价柱,并且产生/从价格,Casecost和Casesize计算出其值。此列仅对用户可见,并且不会保存在数据库/表中。加载页面时计算值(超过10行的下一个/上一个)。对于记录中的每个页面,它仅计算图片中第一行的值。
CSHTML我
@Html.TextBox("q_markup", null, new { @class = "calc markupclass", @readonly = "readonly" })
的Javascript
function calculate() {
//Fields that are used for calculations (declare variables)
var casecost = parseFloat($('#item_q_casecost').val());
var casesize = parseFloat($('#item_q_casesize').val());
var price = parseFloat($('#item_q_sellprice').val());
//calculations
var unitcost = casecost/casesize;
var markup = ((price - unitcost)/unitcost) * 100;
//put calculated value into field
$('#q_markup').val(markup.toFixed(2));
}
$(document).ready(function() {
calculate();
});
我曾经试图要在以下方式我的计算功能的循环没有任何成功
function calculate() {
//gather all markup fields on page
var rows = document.getElementsByClassName("markupclass");
//cycle through each rows and calculate
for (i = 0; i < rows.length; i++) {
//do my calculations here
}
}
我怎么能得到这个计算所有行的字段?
啊是我的一个错字,当我插入的代码进入正题。对于那个很抱歉。它只用该(正确)循环计算第一行。 – LavsTo
是rows.length给你你正在寻找的数字?在你的计算函数中 - 这行这里'$('#q_markup').val(markup.toFixed(2))' - 它是动态的吗?你是否将该值应用于独特的行? –
rows.length给了我一个10的值,这个值与页面上的10行/记录一次是正确的。 '$('#q_markup').val(markup.toFixed(2))'行是动态的。我以为循环会把这个值赋给唯一的行,除非我错过了一些东西。 – LavsTo