2

私のウェブサイトにチェックボックスの自動合計を入れて、チェックボックスをオンにして送信すると、それらのチェックボックスの値(ポイント)が私の合計(実際にはホームページ上)に自動的に追加されるようにしたかったのですが、これまでにこのコードを見つけましたjavaスクリプト。

<table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
    <td> <input name="sum_m_1" value="25" type="checkbox" id="sum_m_1" onclick="UpdateCost()"> </td>
    <td> ResponseOption_1 </td>
  </tr>
  <tr>
    <td> <input name="sum_m_2" value="15" type="checkbox" id="sum_m_2" onclick="UpdateCost()"> </td>
    <td> ResponseOption_2 </td>
  </tr>
</table>
<input type="text" id="totalcost" value="">

JAVASCRIPTの場合:

<script type="text/javascript">
function UpdateCost() {
  var sum = 0;
  var gn, elem;
  for (i=1; i<3; i++) {
    gn = 'sum_m_'+i;
    elem = document.getElementById(gn);
    if (elem.checked == true) { sum += Number(elem.value); }
  }
  document.getElementById('totalcost' ).value = sum.toFixed(2);
}
window.onload=UpdateCost
</script>

これは値を合計しますが、チェックボックスをオンにして追加したかった->送信->データを収集->メインの合計に追加します。

どんな助けでも大歓迎です。

4

1 に答える 1

0

簡単な変更:

  • 「コスト計算」ボタンを追加します。
  • チェックボックスからonclickイベントを削除し、代わりにonclickイベントをボタンに追加しました。

「window.onload=UpdateCost」はまだ存在していることに注意してください。理想的には、ページの読み込み時に合計コストが0.00として適切に表示されるようにする必要があるためです。

HTML

<table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
    <td> <input name="sum_m_1" value="25" type="checkbox" id="sum_m_1"> </td>
    <td> ResponseOption_1 </td>
  </tr>
  <tr>
    <td> <input name="sum_m_2" value="15" type="checkbox" id="sum_m_2"> </td>
    <td> ResponseOption_2 </td>
  </tr>
</table>
<input type="text" id="totalcost" value="">
<input type="button" value="update cost" onclick="UpdateCost();">

JavaScript

<script type="text/javascript">
    function UpdateCost() {
      var sum = 0;
      var gn, elem;
      for (i=1; i<3; i++) {
        gn = 'sum_m_'+i;
        elem = document.getElementById(gn);
        if (elem. checked == true) { sum += Number(elem. value); }
      }
      document.getElementById('totalcost' ).value = sum.toFixed(2);
    }
    window.onload=UpdateCost
</script>

それがあなたが望んでいたことだといいのですが、あなたの考えを教えてください。

于 2013-03-02T07:12:45.737 に答える