簡體   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