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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将选中的复选框值传递给另一个页面?相关的知识,希望对你有一定的参考价值。

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

这是我在添加已检查的chekcbox时编写的初始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;
        }
    }
}

添加像这样的sum元素

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

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

以上是关于如何将选中的复选框值传递给另一个页面?的主要内容,如果未能解决你的问题,请参考以下文章

REACTJS 和 API 将 Api 的值传递给另一个页面

如何将一组选中/未选中的复选框值传递给 PHP 电子邮件生成器?

如何在android中使用api将多个选中的复选框值传递给服务器?

将变量传递给另一个页面上的函数

如何在不将图像保存在本地的情况下将捕获的图像(Surface View)传递给另一个片段?

AXURE8 复选框内同跨页面传递