javascript - HTML 表 JQuery 自动小时总计

标签 javascript php jquery html sql

所以我有一个 HTML 表格,显示查询结果。表格示例如下:

<div class="timecard">
<tr class = "display-even-row">
    <td align="left" style="color:#000099">In</td>
    <td align="left" class="job_code">2400-Duffy's</td>
    <td align="left" class="hrs">4</td>
<tr class = "display-odd-row">
    <td align="left" style="color:#009900">In</td>
    <td align="left" class="job_code">1500-Orchard</td>
    <td align="left" class="hrs">2</td>
<tr class = "display-even-row">
    <td align="left" style="color:#000099">In</td>
    <td align="left" class="job_code">32-Black</td>
    <td align="left" class="hrs">1</td>
<tr class = "display-odd-row">
    <td align="left" style="color:#009900">In</td>
    <td align="left" class="job_code">1500-Orchard</td>
    <td align="left" class="hrs">4</td>
</div>

我想使用 JQuery 为每个 job_code 类自动汇总“hrs”类。我为此使用的 JQuery 是:

var sum=0

$(".hrs").each(function(i) {
    $.each(".job_code") {
    sum = sum + parseInt($(this).text());
    }

    $(".total").append("Total" .job_code "hours: " + sum);
});

不幸的是,上面的 JQuery 无法正常工作。我需要它来运行 job_classes 并对类似的进行总计。所以它应该显示如下内容:

Total 2400-Duffy hours = 4
Total 1500-Orchard hours = 6
Total 32-Black hours = 1

非常感谢任何帮助或建议。谢谢。

最佳答案

要获取值,您可能需要使用 $.each() 对所有值求和。首先,你需要获取所有的职位代码(以便我可以动态,因为将来可能会添加一些职位代码),然后收集后,删除重复项,然后将它们求和。考虑这个简单的脏例子:

<div class="timecard">
<table>
    <tr class = "display-even-row">
        <td align="left" style="color:#000099">In</td>
        <td align="left" class="job_code">2400-Duffy's</td>
        <td align="left" class="hrs">4</td>
    </tr>
    <tr class = "display-odd-row">
        <td align="left" style="color:#009900">In</td>
        <td align="left" class="job_code">1500-Orchard</td>
        <td align="left" class="hrs">2</td>
    </tr>
    <tr class = "display-even-row">
        <td align="left" style="color:#000099">In</td>
        <td align="left" class="job_code">32-Black</td>
        <td align="left" class="hrs">1</td>
    </tr>
    <tr class = "display-odd-row">
        <td align="left" style="color:#009900">In</td>
        <td align="left" class="job_code">1500-Orchard</td>
        <td align="left" class="hrs">4</td>
    </tr>
</table>
</div>

<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){

    var temp = [];
    $('.job_code').each(function(index, element){
        var text = $(this).text();
        temp.push(text);
    });

    // remove duplicates
    var job_code = [];
    $.each(temp, function(index, element){
        if($.inArray(element, job_code) === -1) job_code.push(element);
    });

    var sum = {};
    $.each(job_code, function(index, element){
        var total = 0;
        $('.job_code:contains('+element+')').each(function(key, value){
            total += parseInt($(this).next('td.hrs').text());
            sum[index] = {'job_code' : element, 'total': total};
        });
    });

    console.log(sum);

});
</script>

Sample Fiddle链接在这里。

关于javascript - HTML 表 JQuery 自动小时总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23708133/

相关文章:

javascript - 在输入字段问题中物化CSS下拉菜单

javascript - 如何触发 JQuery 对话框以从 MVC 分部 View 的 Controller 关闭?

php - 代码点火器 : Call to a member function num_rows() on a non-object

php - 在 PHP 中将引用添加到数组会创建一个引用数组

javascript - 使用 jquery 和 html 字符串查找每个链接

javascript - jQuery 中触发复制事件?

javascript - Google App Engine "Multiline"和 JavaScript 数组问题

javascript - howler.js - 按钮淡入和淡出类(class)变化中的音乐

javascript - this.setToken 不是函数

php - 是否有 Python 的 RedBeanPHP 等效项?