繁体   English   中英

如何将选中的复选框值传递给另一个页面?

[英]How can I pass the checked checkbox values to another page?

有办法吗? 我要发生的是,左侧的超链接将具有总计,依此类推,在最后一页/选项卡上,所有超链接的总和将显示在此处。 这是一个jsFiddle,可以更好地理解我的观点https://jsfiddle.net/nerdfighter/121myofn/1/

这是我在添加选中的chekcboxes中编写的初始JavaScript代码

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  <script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
  <script type="text/javascript">
    window.onload = function() {
  var inputs = document.getElementsByClassName('sum'),
    total = document.getElementById('payment-total');

  for (var i = 0; i < inputs.length; i++) {
    inputs[i].onchange = function() {
      var add = this.value * (this.checked ? 1 : -1);
      total.innerHTML = parseFloat(total.innerHTML) + add
      var new_total = parseFloat(document.getElementById('input').value);
      console.log(new_total);
      document.getElementById('input').value = new_total + add
    }
  }
}

  </script>

这只是一个小项目,我不会使用服务器端。

jsFiddle中没有id="payment-total"id="input"元素。 因此,它将无法正常工作。

该算法看起来正确。 但是我建议更加注意严格的代码格式-这有助于避免错误。

我添加了以下几行,jsFiddle开始工作:

<span id="payment-total">0</span>
<input id="input" value="0">

通过评论更新:

// TODO: Start using addEventListener() instead
window.onload = function() {
    var inputs = document.getElementsByClassName('sum'),
        total = document.getElementById('payment-total');

    for (var i = 0; i < inputs.length; i++) {
        inputs[i].onchange = function() {
            var add = this.value * (this.checked ? 1 : -1);

            // TODO: Consider state variables instead of parsing innerHTML
            // TODO: Never miss semicolons. It works, but causes hard debug sometimes
            total.innerHTML = parseFloat(total.innerHTML) + add  
            var new_total = parseFloat(document.getElementById('input').value);
            console.log(new_total);
            document.getElementById('input').value = new_total + add

            // Per tab total calculation
            var tabTotalEl = document.getElementById(this.dataset.tabTotalId);
            tabTotalEl.innerHTML = parseFloat(tabTotalEl.innerHTML) + add;
        }
    }
}

像这样添加总和元素

<span id="tab-vegetables-total">0</span>

data-tab-id="tab-vegetables-total"属性添加到复选框。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM