循环里是checkboxList的内容 每个页面显示20条记录 可是我在JavaScript里面的function addMoney(id){
alert(id);
}怎么样试都没有反应。 把单引号去掉也是一样 就是function不执行
而且我还想在function 中得到下面table里面的金额 就是 1.getMoney()
本意上想做一个选中一个多选框就金额相应增加而去掉一个金额会相应减少
不知道该怎么解决了 希望热心的高手们给点指导 谢谢
<tr class="<%=cls%>" onmouseover="mouseoverRow(this.id)" onmouseout="mouseoutRow(this.id)" id="<%=i+"i"%>">
<td></td>
<td><input id="checkboxList<%=i%>" name="checkboxList" type="checkbox" value="<%=checkboxValue%>" onclick="addMoney('checkboxList<%=i%>')" /></td>
<td></td>
<td class="blue"><%=1.getNumber() %></td>
<td></td>
<td><%=1.getGoods_name() %></td>
<td></td>
<td ><%= StringUtil.judgeString(1.getNum())%></td>
<td></td>
<td><span class="orange"><%=StringUtil.judgeString(1.getMoney())%></span>/元</td>
<td></td>
<td class="blue"><%=cardnumber%></td>
<td></td>
<td ><%=payperson%></td>
<td></td>
<td align="left"><%=paybank%></td>
<td></td>
<td align="center"><%=payCity.length()>0?payCity.split("\\|")[1]:"城市错误" %></td>
</tr>
alert(id);
}怎么样试都没有反应。 把单引号去掉也是一样 就是function不执行
而且我还想在function 中得到下面table里面的金额 就是 1.getMoney()
本意上想做一个选中一个多选框就金额相应增加而去掉一个金额会相应减少
不知道该怎么解决了 希望热心的高手们给点指导 谢谢
<tr class="<%=cls%>" onmouseover="mouseoverRow(this.id)" onmouseout="mouseoutRow(this.id)" id="<%=i+"i"%>">
<td></td>
<td><input id="checkboxList<%=i%>" name="checkboxList" type="checkbox" value="<%=checkboxValue%>" onclick="addMoney('checkboxList<%=i%>')" /></td>
<td></td>
<td class="blue"><%=1.getNumber() %></td>
<td></td>
<td><%=1.getGoods_name() %></td>
<td></td>
<td ><%= StringUtil.judgeString(1.getNum())%></td>
<td></td>
<td><span class="orange"><%=StringUtil.judgeString(1.getMoney())%></span>/元</td>
<td></td>
<td class="blue"><%=cardnumber%></td>
<td></td>
<td ><%=payperson%></td>
<td></td>
<td align="left"><%=paybank%></td>
<td></td>
<td align="center"><%=payCity.length()>0?payCity.split("\\|")[1]:"城市错误" %></td>
</tr>
alert(id);
}里面的id是空的, 也就说alert();是不可能有响应的。
html上是20条结果从checkboxList1 一直到 checkboxList20 明明是有id的 方法名也没有写错 也没有重复的 貌似就是function没有执行 不知道为什么
<td></td>
<td><input id="checkboxList1" name="checkboxList" type="checkbox" value=" " onclick="addMoney('checkboxList1')" /></td>
<td></td>
<td class="blue">22200</td>
<td></td>
<td></td>
<td></td>
<td >1</td>
<td></td>
<td><span class="orange">23432.47</span>/元</td>
<td></td>
<td class="blue">4301017419100074270</td>
<td></td>
<td >南京北路店</td>
<td></td>
<td align="left">南支行</td>
<td></td>
<td align="center">市</td>
</tr>
<tr class="list_2" onmouseover="mouseoverRow(this.id)" onmouseout="mouseoutRow(this.id)" id="2i">
<td></td>
<td><input id="checkboxList2" name="checkboxList" type="checkbox" value="st9" onclick="addMoney('checkboxList2')" /></td>
<td></td>
<td class="blue">22201</td>
<td></td>
<td>测试数据</td>
<td></td>
<td >1</td>
<td></td>
<td><span class="orange">22922.26</span>/元</td>
<td></td>
<td class="blue">1000360778</td>
<td></td>
<td >上有限公司</td>
<td></td>
<td align="left">中路支行</td>
<td></td>
<td align="center">尔市</td>
</tr>
由于是网站建设 有一些公司的信息 我去掉了 见谅
另外很谢谢你得帮忙
alert(id);
var nowMoney = document.getElementById('showmoney').innerText ;
alert(nowMoney);
var nowMoney = parseFloat(nowMoney);
var selectMoney = document.getElementById(id)[1].innerText;
var selectMoney = parseFloat(selectMoney);
if(document.getElementById(id).checked){
document.getElementById('showmoney').innerText = nowMoney+selectMoney;
}else if(nowMoney>selectMoney){
document.getElementById('showmoney').innerText = nowMoney-selectMoney;
}else{
document.getElementById('showmoney').innerText = 0.00;
}
}
我原本是想写这样一段代码的 自己写了一个test用例 功能还可以实现
结果套用到页面上就不行了 请大家多多指导!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="../static/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
function addMoney(id) {
alert(id);
var nowMoney = document.getElementById('showmoney').innerHTML;
alert(nowMoney);
var nowMoney = parseFloat(nowMoney);
var selectMoney = document.getElementById(id)[1].innerText;
var selectMoney = parseFloat(selectMoney);
if (document.getElementById(id).checked) {
document.getElementById('showmoney').innerText = nowMoney + selectMoney;
} else if (nowMoney > selectMoney) {
document.getElementById('showmoney').innerText = nowMoney - selectMoney;
} else {
document.getElementById('showmoney').innerText = 0.00;
}
}
</script>
</head>
<body>
<span id="showmoney">0</span><br />
<table>
<tr class="list_1" id="1i">
<td></td>
<td>
<input id="checkboxList1" name="checkboxList" type="checkbox" value=" " onclick="addMoney('checkboxList1')" />
</td>
<td></td>
<td class="blue">22200</td>
<td></td>
<td></td>
<td></td>
<td>1</td>
<td></td>
<td><span class="orange">23432.47</span>/元</td>
<td></td>
<td class="blue">4301017419100074270</td>
<td></td>
<td>南京北路店</td>
<td></td>
<td align="left">南支行</td>
<td></td>
<td align="center">市</td>
</tr>
<tr class="list_2" id="2i">
<td></td>
<td>
<input id="checkboxList2" name="checkboxList" type="checkbox" value="st9" onclick="addMoney('checkboxList2')" />
</td>
<td></td>
<td class="blue">22201</td>
<td></td>
<td>测试数据</td>
<td></td>
<td>1</td>
<td></td>
<td><span class="orange">22922.26</span>/元</td>
<td></td>
<td class="blue">1000360778</td>
<td></td>
<td>上有限公司</td>
<td></td>
<td align="left">中路支行</td>
<td></td>
<td align="center">尔市</td>
</tr>
</table>
</body>
</html>几点问题:
1. 你发html代码上来, 最好是像我这样的, 一个完整的可以运行的html页面, 这样大家不用费心帮你调整.
2. showmoney对应的元素你原来的代码中没有, 我随便弄了一个;
3. innerText并不是每个元素都有的特性, 你换用innerHtml试试; 其实对于值的运算, 最好是用input text 或者input hidden, 这样直接取值就好了, 什么工具做什么事吧.
4. 如果你想再上一层楼, 学学jquery吧. 我也没有做太多, 只是觉得你的思路并不清晰, 可能错在我说的上面的第3点上了, 你先按我说的, 把代码改一下吧.
这个问题已经解决了 原因是在
<td><input id="checkboxList<%=i%>" name="checkboxList" type="checkbox" value="<%=checkboxValue%>" onclick="addMoney('checkboxList<%=i%>')" /></td> 这行代码上
因为这是遍历一个list去取其中的数据去结算 有一个全选的方法会用到document.getElementsByName(checkboxList)。也就是取它的name值
后来该了name值之后就可以实现上面所说的金额相应的增加减少了 但是全选的功能又实现不了
我所不明白的是 金额相应的增加减少 并没有调用到它的name值 为什么俩个方法就不能重用呢
由于问题说得不够清楚 也给您添麻烦了 就此结贴 谢谢!