在行

时间:2017-02-27 13:18:35

标签: javascript jquery

我连续有多个<td>,我知道行号。

<td>的ID如下:

TaskHours_0__SaturdayHours TaskHours_0__SundayHours TaskHours_0__MondayHours TaskHours_0__TuesdayHours TaskHours_0__WednesdayHours TaskHours_0__ThursdayHours TaskHours_0__FridayHours

其中0根据行号递增。

我正在尝试写一些东西,以便在我提供行号时将每个TD的所有值相加。

我希望写下这样的东西:

function rowtotal(rownumber){
    var total = 0;
    total = Number($("#TaskHours_0__SaturdayHours").html())
        + Number($("#TaskHours_0__SundayHours").html())
        + Number($("#TaskHours_0__MondayHours").html())
        + Number($("##TaskHours_0__TuesdayHours").html())
        + Number($("#TaskHours_0__WednesdayHours").html())
        + Number($("#TaskHours_0__ThursdayHours").html())
        + Number($("#TaskHours_0__FridayHours").html())
    return total;
}

但我无法弄清楚如何替换&#34; 0&#34;使用参数&#34; rownumber&#34;

有没有办法更换0?

2 个答案:

答案 0 :(得分:3)

您可以使用var deleteListener = new DeleteListener(); _configuration.SetListener(ListenerType.Delete, deleteListener); class DeleteListener : DefaultDeleteEventListener { public override void OnDelete(DeleteEvent e, ISet<object> transientEntities) { MyEntity entity = e.Entity as MyEntity; if (entity != null) { // code for file deletion } base.OnDelete(e, transientEntities); } } 将它们连接起来。:

+

与其他tds相同。

答案 1 :(得分:1)

您应使用Array存储工作日的名称,以减少重复代码(DRY编码)和字符串concatenation以创建jQuery选择器。

代码的清洁版:

var weekDays = ['Saturday', 'Sunday', 'Monday', 
                'Tuesday', 'Wednesday', 'Thursday', 'Friday'];

function rowtotal(rowNumber){
    var total = 0;

    weekDays.forEach(function(day) {
      total += Number($('#TaskHours_' + rowNumber + '__' + day + 'Hours').html());
    });

    return total;
}

此外,您还可以将string加到number前面加上+符号,这样就可以代替 Number($('#TaskHours_' + rowNumber + '__' + day + 'Hours').html())
你可以这样写:
+$('#TaskHours_' + rowNumber + '__' + day + 'Hours').html()