+ -
当前位置:首页 → 问答吧 → 被选中栏次的输入框表单值的累加和!

被选中栏次的输入框表单值的累加和!

时间:2009-11-03

来源:互联网

复制代码
  1.  <table><form action="" method="get">
  2.   <tr>
  3.     <td><input name="aa" id="aa" type="checkbox" value="1" checked /></td>
  4.     <td><input name="1" id="1" type="text" value="123" readonly="readonly" /></td>
  5.   </tr>
  6.   <tr>
  7.     <td><input name="bb" id="bb" type="checkbox" value="2" checked /></td>
  8.     <td><input name="2" id="2" type="text" value="234" readonly="readonly" /></td>
  9.   </tr>
  10.   <tr>
  11.     <td><input name="cc" id="cc" type="checkbox" value="3" checked /></td>
  12.     <td><input name="3" id="3" type="text" value="345" readonly="readonly" /></td>
  13.   </tr>
  14.   <tr>
  15.     <td>合计</td>
  16.     <td><input name="hj" id="hj" type="text" value="" readonly="readonly" /></td>
  17.   </tr></form>
  18. </table>


请教:合计栏中“hj”表单的值为前面被选中栏次的输入框表单值的累加和!

作者: cyylml   发布时间: 2009-11-03

var total = 0;
$("input:checked").each(function() {
    if ($(this).is(":checked")) {
        total = total + $(this).parent().next("input").attr();
    }
});
$("#hj").val(total);

作者: ivan820819   发布时间: 2009-11-04

太感谢了,帮我解决一个困扰了好久的问题!

表格,我稍作修改
复制代码
  1. <table><form action="" method="get">
  2.   <tr>
  3.     <td><input name="aa" id="aa" type="checkbox" value="1" checked /><input name="1" id="1" type="text" value="123" readonly="readonly" /></td>
  4.   </tr>
  5.   <tr>
  6.     <td><input name="bb" id="bb" type="checkbox" value="2" checked /><input name="2" id="2" type="text" value="234" readonly="readonly" /></td>
  7.   </tr>
  8.   <tr>
  9.     <td><input name="cc" id="cc" type="checkbox" value="3" checked /><input name="3" id="3" type="text" value="345" readonly="readonly" /></td>
  10.   </tr>
  11.   <tr>
  12.     <td>合计<input name="hj" id="hj" type="text" value="" readonly="readonly" /></td>
  13.   </tr></form>
  14. </table>
  15. var total = 0;
  16. $("input:checkbox").each(function() {
  17.     if ($(this).is(":checked")) {
  18.         total = total + parseFloat($(this).next("input:text").val());
  19.     }
  20. });
  21. $("#hj").val(total);
  22. $("input:checkbox").bind("click", function(){
  23.     var hj=parseFloat($("#hj").val());
  24. if ($(this).is(":checked")) {
  25.         hj = hj + parseFloat($(this).next("input:text").val());
  26.   /*alert("当前的值是:"+$(this).next("input"). attr("value") );*/
  27.     }
  28. else
  29. {
  30. hj = hj - parseFloat($(this).next("input:text").val());
  31. }
  32. $("#hj").val(hj);
  33. });


经测试,hj表单的值实时因checkbox表单的选择而变化!

再次感谢ivan820819 !

作者: cyylml   发布时间: 2009-11-04

存在问题:1、小数点问题。(已解决)
2、当有“reset”表单时,出错,不会累加。
3、使用条件比较苛刻!一般用于数据库记录,且相关数据不为空。

作者: cyylml   发布时间: 2009-11-05

相关阅读 更多