【发布时间】:2013-06-22 05:18:32
【问题描述】:
我没有做太多(或任何)jQuery。我在这里找到了以下脚本,但我有一个问题。我在搜索此站点时尝试的所有尝试都破坏了脚本。如果选中复选框,我只希望它对其他列的值求和。
这是一个示例表:
<table id="sum_table" class="example">
<thead>
<tr class="titlerow">
<td class="table-sortable:numeric">Apple</td>
<td class="table-sortable:numeric">Orange</td>
<td class="table-sortable:numeric">Watermelon</td>
<td class="table-sortable:numeric">Turtle</td>
</tr>
</thead>
<tr>
<td class="rowDataSd">52</td>
<td class="rowDataSd">911</td>
<td class="rowDataSd">911</td>
<td><input type="checkbox" name="cb" value="1"></td>
</tr>
<tr>
<td class="rowDataSd">989</td>
<td class="rowDataSd">24</td>
<td class="rowDataSd">911</td>
<td><input type="checkbox" name="cb" value="1"></td>
</tr>
<tr>
<td class="rowDataSd">989</td>
<td class="rowDataSd">911</td>
<td class="rowDataSd">911</td>
<td><input type="checkbox" name="cb" value="1"></td>
</tr>
<tfoot>
<tr class="totalColumn">
<td class="totalCol">Total:</td>
<td class="totalCol">Total:</td>
<td class="totalCol">Total:</td>
<td class="totalCol">Total:</td>
</tr>
</tfoot>
这是脚本:
$('#sum_table tr:first td').each(function(){
var $td = $(this);
var colTotal = 0;
$('#sum_table tr:not(:first,.totalColumn)').each(function(){
colTotal += parseInt($(this).children().eq($td.index()).html(),10);
});
$('#sum_table tr.totalColumn').children().eq($td.index()).html('Total: ' + colTotal);
});
我应该把 && 放在哪里,&& 到底是什么?
我尝试添加 &&s,但我只是不熟悉如何阅读 jQuery。我很想学习它,我认为这将是一个简单的项目。可能不会。与往常一样,非常感谢任何帮助。
【问题讨论】:
-
&&是 JavaScript 逻辑与运算符。 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… -
jQuery 没有 if 或 while 循环。你是说 JavaScript 吗?
-
哎呀抱歉。我只说 if 和 while 因为那是我认为它会被调用的。无论如何,我希望脚本只对那些包含选中复选框的值求和。
-
将thead中没有的所有内容都包裹在tbody中,这样就不必过滤掉第一行了。
-
我已经编辑了我的标题以使其更准确。