Javascript - 计算数组中复选框的总和

标签 javascript php

根据下面的答案,我编辑了该帖子以提供更多详细信息。谢谢大家。

编辑:

这是我的代码:

@foreach($amount_data as $amount)                          
<div class="col-sm-12">                             
<div class="input-checkbox">                               
<div class="inner"></div>
<input type="checkbox" name="items[]" value="{{$amount->amount}}" onchange="checkTotal()" />
</div>
<span>{{$amount->item_name}} - <b>{{$amount->amount}} {{$form->currency}}</b></span>
 </div>
 @endforeach
 <br/>  Total: <input type="text" size="2" name="total" value="0" />
 @endif

Javascript:

<script type="text/javascript">

function checkTotal() {
var sum = 0,
frm = document.getElementById("payment-form"),
cbs = frm["items[]"],
i;
for (i = 0; i < cbs.length; i++) {
if (cbs[i].checked) {
sum += parseInt(cbs[i].value);
}
}
frm.total.value = sum;
}

</script>

表单信息:

 <form action="{{url('secure-checkout/'.$form->unique_url_code)}}" method="POST" id="payment-form" name="payment-form">

似乎不起作用。控制台中没有错误。有什么问题吗?

最佳答案

由于名称中包含 [],您需要使用括号表示法

document.listForm["items[]"][i].checked

function checkTotal() {
  var sum = 0,
    frm = document.getElementById("payment-form"),
    cbs = frm["items[]"],
    i;
  for (i = 0; i < cbs.length; i++) {
    if (cbs[i].checked) {
      sum += parseInt(cbs[i].value);
    }
  }
  frm.total.value = sum;
}
<form name="payment-form" id="payment-form">
  <input type="checkbox" name="items[]" value="2" onchange="checkTotal()" />2<br/>
  <input type="checkbox" name="items[]" value="5" onchange="checkTotal()" />5<br/>
  <input type="checkbox" name="items[]" value="10" onchange="checkTotal()" />10<br/>
  <input type="checkbox" name="items[]" value="20" onchange="checkTotal()" />20<br/> 
  Total: <input type="text" size="2" name="total" value="0" />
</form>

关于Javascript - 计算数组中复选框的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43472169/

相关文章:

javascript - Jasmine HtmlReporter 调用自身,发现自己未定义

javascript - 如何在离开页面之前警告用户而不是重定向

javascript - 在服务器端显示适合div的div内容

php - 无法加载资源: the server responded with a status of 449 (Woocommerce)

javascript - iPad 滚动 - 标题仅在滚动结束时设置为固定

Javascript数组插入for循环

php - 用于删除用户记录的删除按钮 PHP

php - 记录时间/日期 PHP 表单插入 SQL 数据库?

php - fatal error : Using $this when not in object context in

javascript - YouTube iframe API : can't make it responsive