jquery实现select选中行、列合计示例
更新时间:2014年04月25日 15:24:04 作者:
这篇文章主要介绍了jquery如何实现select选中行、列合计示例 ,需要的朋友可以参考下
Jquery 方法
$(
function () {
//页面加载时计算人员统计表合计值
calcSum();
});
//合计行计算
/*
以合计行为中间变量
每个单元格与该列合计行相加
得到每列合计
*/
function trVisible(chk, index) {
var disValue = $("#Tr" + index).css("display");
if (chk.checked) {
$("#Tr" + index).css("display", "block");
}
else {
$("#Tr" + index).css("display", "none");
}
calcSum();
}
function calcSum() {
//合计行赋初始值0
$("#trSum").each(function () {
$(this).find("td").each(function () {
if ($(this).index() != 0) {
$(this).text("0");
}
});
});
$("#tabrytj").find("tr").each(function () {
var trDis = $(this).css("display");
//隐藏行不参与计算
if (trDis == "block") {
$(this).find("td").each(function () {
var index = $(this).index();
if (index >= 1) {
var tdValue = $("#trSum").find("td:eq(" + index + ")").text();
//totalSum += parseFloat($(this).text());
$("#trSum").find("td:eq(" + index + ")").text(parseFloat(tdValue) + parseFloat($(this).text()));
}
});
}
});
}
html语句
<table>
<tr>
<td>分公司</td>
<td>
<select>
<option>
华南分公司
</option>
</select>
</td>
<td><input type="checkbox" onclick="trVisible(this,1)" name="chk1" id="chk1" checked="checked" />张1</td>
<td><input type="checkbox" onclick="trVisible(this,2)" checked="checked" />张2</td>
<td><input type="checkbox" onclick="trVisible(this,3)" checked="checked" />张3</td>
<td><input type="checkbox" onclick="trVisible(this,4)" checked="checked" />张4</td>
<td><input type="checkbox" onclick="trVisible(this,5)" checked="checked" />张5</td>
<td><input type="checkbox" onclick="trVisible(this,6)" checked="checked" />张6</td>
</tr>
</table>
<div>
<table border="0" class="tableinfo" id="tabrytj">
<tr id="Tr1" style="display:block">
<td>张1 </td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
</tr>
<tr id="Tr2" style="display:block">
<td>张2 </td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
</tr>
<tr id="Tr3" style="display:block">
<td>张23 </td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
</tr>
<tr id="trSum">
<td></td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
</table>
</div>
复制代码 代码如下:
$(
function () {
//页面加载时计算人员统计表合计值
calcSum();
});
//合计行计算
/*
以合计行为中间变量
每个单元格与该列合计行相加
得到每列合计
*/
function trVisible(chk, index) {
var disValue = $("#Tr" + index).css("display");
if (chk.checked) {
$("#Tr" + index).css("display", "block");
}
else {
$("#Tr" + index).css("display", "none");
}
calcSum();
}
function calcSum() {
//合计行赋初始值0
$("#trSum").each(function () {
$(this).find("td").each(function () {
if ($(this).index() != 0) {
$(this).text("0");
}
});
});
$("#tabrytj").find("tr").each(function () {
var trDis = $(this).css("display");
//隐藏行不参与计算
if (trDis == "block") {
$(this).find("td").each(function () {
var index = $(this).index();
if (index >= 1) {
var tdValue = $("#trSum").find("td:eq(" + index + ")").text();
//totalSum += parseFloat($(this).text());
$("#trSum").find("td:eq(" + index + ")").text(parseFloat(tdValue) + parseFloat($(this).text()));
}
});
}
});
}
html语句
复制代码 代码如下:
<table>
<tr>
<td>分公司</td>
<td>
<select>
<option>
华南分公司
</option>
</select>
</td>
<td><input type="checkbox" onclick="trVisible(this,1)" name="chk1" id="chk1" checked="checked" />张1</td>
<td><input type="checkbox" onclick="trVisible(this,2)" checked="checked" />张2</td>
<td><input type="checkbox" onclick="trVisible(this,3)" checked="checked" />张3</td>
<td><input type="checkbox" onclick="trVisible(this,4)" checked="checked" />张4</td>
<td><input type="checkbox" onclick="trVisible(this,5)" checked="checked" />张5</td>
<td><input type="checkbox" onclick="trVisible(this,6)" checked="checked" />张6</td>
</tr>
</table>
<div>
<table border="0" class="tableinfo" id="tabrytj">
<tr id="Tr1" style="display:block">
<td>张1 </td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
</tr>
<tr id="Tr2" style="display:block">
<td>张2 </td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
</tr>
<tr id="Tr3" style="display:block">
<td>张23 </td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
<td>124536</td>
</tr>
<tr id="trSum">
<td></td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
</table>
</div>
相关文章
addEventListener—jQuery的事件监听方法
在Javascript中,事件监听是非常重要的,通过事件监听,我们可以在用户执行某些操作时触发相应的处理程序。最初,Javascript监听事件的方式是addEvent。addEvent()比较麻烦,所以jQuery为我们提供了一个更为便捷的事件监听方法:addEventListener。2023-06-06JQuery的Ajax中Post方法传递中文出现乱码的解决方法
这篇文章主要介绍了JQuery的Ajax中Post方法传递中文出现乱码的解决方法,较为深入的分析了Ajax的post方法出现乱码的原因,以及具体的解决方法,需要的朋友可以参考下2014-10-10JQuery扩展插件Validate 3通过参数设置错误信息
最终显示在页面上的错误分为两种:第一种是默认错误信息,该信息已经被定义在插件中了,可以手动修改。2011-09-09jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
这个jQueryPad也是我无意中在网上看页面的时候看到的,下载下来试用了下,感觉很好,这个软件是使用WPF开发的(不过不开源,需要安装.NET Framework 3.5),整体界面很简洁。2010-05-05
最新评论