id指定した数値同士を合計計算し表示する方法

このQ&Aのポイント
  • idを使用して指定した数値を合計計算し、指定した場所に表示する方法を教えてください。
  • テーブルの縦列の合計を自動で表示する方法について、既存のWEBサイトにテーブルを追加しない方法を知りたいです。
  • id=suujiで指定した数値をid=totalに合計表示させる方法を教えてください。suujiの数は1つでも複数でも構いません。
回答を見る
  • ベストアンサー

id指定した数値同士を合計計算し表示する方

素人の投稿ですみませんがご教授いただけましたら幸いです。 id指定した数値同士を自動で合計計算し表示する事は出来ますでしょうか? やりたいことで一番近かった投稿は以下のものです。 「テーブル内に表示されている数字の自動計算について」 http://okwave.jp/qa/q5295498.html 上記の場合、テーブルセルの縦列の合計が自動で表示されるのですが、既にWEBサイトが出来上がっており新たにテーブルを組み込むことが出来ません。 例えばidを使用し <span id="suuji">10000</span> <span id="suuji">20000</span> <span id="total">30000</span> という風にid=suujiで指定した数値をid=total指定した場所へ合計表示させることは出来ますでしょうか? 出来ればid=suujiは1つだけの方が有難いのですが、難しければsuuji1、suuji2、suuji3と分かれても構いません。 お忙しい中、大変難しいご質問ですが何卒宜しく御願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

なるほど、カンマ対応版だとこんなかんじ <script> window.onload=function(){ var n=document.getElementsByTagName("span"); var v=0; for(var i=0;i<n.length;i++){ if(n[i].id.match(/^suuji[0-9]+$/)){ v +=parseInt(n[i].innerHTML.replace(/,/g,'')); } } var num=v.toString(); while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2"))); document.getElementById("total").innerHTML=num; } </script> <span id="suuji1">1,234,567</span> <span id="suuji2">8,888</span> <span id="suuji3">999,999</span> <span id="total">0</span>

gorowaka
質問者

お礼

2回にわたり迅速なご回答、本当に有難うございました。 こんなに早く解決するとは思ってもいませんでした。 感謝です!

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

idがかぶるのはNGですね こんな感じでしょうか? <script> window.onload=function(){ var n=document.getElementsByTagName("span"); var v=0; for(var i=0;i<n.length;i++){ if(n[i].id.match(/^suuji[0-9]+$/)){ v +=parseInt(n[i].innerHTML); } } document.getElementById("total").innerHTML=v; } </script> <span id="suuji1">100</span> <span id="suuji2">200</span> <span id="suuji3">300</span> <span id="moji1">400</span> <span id="moji2">500</span> <span id="moji3">600</span> <span id="total">0</span>

gorowaka
質問者

補足

早速のご返事、本当に有難うございます。 こちらの質問が悪かったのですが、数値にはコンマ,が入っており、今回のスクリプトですと、コンマより上の数字しか認識しないようです。 100,000だと100、100,500でも100としか認識されなうようです。 お手数をお掛けし、甚だ申し訳ございませんが、コンマ以下も正常に認識するようにはなりませんでしょうか。 何卒宜しくお願い申し上げます。

関連するQ&A

  • javascriptでID指定場所に税込み合計を

    前回の質問が分かり難かったので、改めてご質問させていただきます。 外部javascriptでID指定場所に税抜き合計と税込み合計を表示したいです。 現在税抜き合計までは対応しています。(下記参照) お教えいただけましたら幸甚です。 商品1 <span id="suuji1">5,000</span> 商品2 <span id="suuji2">500</span> ・・・ 商品9 <span id="suuji9">2,000</span> 税抜き合計 <span id="total">ここに自動で表示</span> 税込み合計 <span id="zeikomi">ここに自動で表示</span> ※小数点以下切り捨て 商品の金額にはコンマが付いております。 合計金額にもコンマを付与したいです。9000→9,000 以上何卒宜しくお願い申し上げます。 <現在のソース> var preOnload = window.onload; window.onload = function() { if(preOnload){ preOnload() } var n=document.getElementsByTagName("span"); var v=0; for(var i=0;i<n.length;i++){ if(n[i].id.match(/^suuji[0-9]+$/)){ v +=parseInt(n[i].innerHTML.replace(/,/g,'')); } } var num=v.toString(); while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2"))); document.getElementById("total").innerHTML=num; }

  • javascript税抜き合計と税込み合計を表示

    htmlにjavascriptで税抜き合計と税込み合計を自動で表示したいです。 お教えいただけましたら幸甚です。 商品1 <span id="shouhin1">500</span> 商品2 <span id="shouhin2">500</span> ・・・ 商品9 <span id="shouhin9">500</span> ※商品1だけの場合もあります。 税抜き合計 <span id="zeinuki">ここに自動で表示</span> 税込み合計 <span id="zeikomi">ここに自動で表示</span> ※消費税は小数点以下切り捨てでお願いします。 以上何卒宜しくお願い申し上げます。

  • エクセル 表示の数値の合計

    Excelで合計を計算式で出して合計する場合に起こることですが セル数値が小数の場合合計が違うことがあります。 表示の数値の合計を出したい時の方法を教えてください。 以上、ご返答 宜しくお願い致します。

  • エクセル-計算式以外の数値のみを合計

     エクセルで、合計範囲内に数値と計算式がある 場合、数値のみを合計するにはどうしたらいいで しょうか。現在は、COTRLキーで、数値のみを 手動で範囲選択していすが、数値のセルが計算式に 変わっても対応できるように、関数などで指定を したいと思います。  対象となる表は以下の通りです。    *横に製品名・縦に日付、製品ごとの日々の   生産数を入力、1ヶ月分を1シートとする。    *さらに、1週間毎に2列挿入。1つは生産数    の合計、もう一つは全生産数の%。    *表の右端には製品ごとの1月分の合計を   表示←この部分に入れる計算式が質問内容です。   

  • ループ、プログラムなのに!?

     以下のプログラムは、ただの乗算と、その合計を計算するだけなのに、なんでfor (var i = 1; i < 4; i++) {  のループ、プログラムなのですか?  もし同じ計算結果のダイアログBOXで、Javaの範疇で組むのであれば、他にどんなプログラムがあるのですか?  よろしくお願いします。 <HTML> <HEAD> <TITLE>ループ</TITLE> <script tytpe="text/javascript"> <!-- function calc(){ var alltotal = 0; for (var i = 1; i < 4; i++) { var price = document.getElementById("price" + i).innerHTML; var num = document.getElementById("num" + i).value; var total = price * num; document.getElementById("total" + i).innerHTML = total; alltotal += total; } document.getElementById("alltotal").innerHTML = alltotal; } </script> </HEAD> <body> <p><span id="price1">100</span><input id="num1" value="0" /><span id="total1">1の合計</span></p> <p><span id="price2">200</span><input id="num2" value="0" /><span id="total2">2の合計</span></p> <p><span id="price3">300</span><input id="num3" value="0" /><span id="total3">3の合計</span></p> <div id="alltotal">合計</div> <button onclick="calc()">計算</button> </body> </HTML>

  • エクセル 列の数値の合計の表示について、

    エクセル 列の数値の合計の表示について、 ごく基本的なことだと思いますが、教えてください。 例えばA列に上から順に数値を入れていき、その合計をB列に表示させるとします。 私のやり方はB列の計算式を=B1+A2としてこのコピーを、数値の数だけ下に下げることで目的を達しました。 すでにA列に数値が何個も入力している場合はこれで良いのですが・・。 ここから質問なのですが、例えばA列に現在10個数値がありB列に順番にその合計が出ているとします。 次にA列11行目に新規に数値を入力した時に、自動的にその合計がB列に出るようにしたいのです。 予めB列の数式のコピーを11行目以降に延ばしておくと、10行目の合計の数値が延ばした行まで並ぶので困っています。 よろしくお願いします。

  • エクセルで指定した数値より大きい数値のみを表示したいのです。たとへば1

    エクセルで指定した数値より大きい数値のみを表示したいのです。たとへば1日の拘束時間を計算して、9時間以上のみを表示。9時間以下の場合は表示されないようにしたいのですが、宜しくお願いします。

  • 外部ファイルの数値を合計計算する方法

    外部ファイル(ここではCSVファイル)内の列ごとの数値を合計し、結果をコマンドに表示したいです。 数値を合計するためsum関数を用いることは分かったのですが、各列ごとの出力・数値の合計はどのようにすればいいのですか。 合計計算のイメージはこんな感じです。 CSVファイル内 1 , 25 2 , 50 3 , 75  ・  ・  ・ プログラムで外部ファイルを読み込み、各列ごとの和を計算し、 Σx=1+2+3+・・・ Σy=25+50+75+・・・ コマンド(Cygwinを使用しています)上で、 x = (数値) , y = (数値) と表示することです。

    • ベストアンサー
    • Perl
  • MySQLで縦の計算について

    いつも大変お世話になっております。 MySQLでレコードの特定のカラムの縦の合計を出す方法は無いのでしょうか? 例えば下記のようなテーブルがあるとします。 hoge_total |id|total1|total2| |2|100|600| |3|200|700| |4|300|800| |5|400|900| |6|500|1000| 各レコードに対して横の合計を出すなら select *,total1 + total2 as total from hoge_total hoge_total |id|total1|total2|total| |2|100|600|700| |3|200|700|900| |4|300|800|1100| |5|400|900|1300| |6|500|1000|1500| といった感じで簡単に出せますが、total1、total2を縦に計算した合計が出せないのでしょうか? 結果としては hoge_total |id|total1|total2|total| |2|100|600|2100| |3|200|700|2100| |4|300|800|2100| |5|400|900|2100| |6|500|1000|2100| ※total1を縦に合計した値をtotalとして取り出す こんな感じにしたいんですが、MySQLでは出来ないのでしょうか? 何卒、ご教授の程、宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • access フィールドの数値を使って計算したい

    あるテーブル内に様々な数値をフィールドに入力して、それらの数値をフォームでルックアップを使用して計算したいのですが、accessはどうやら主キー(id)の数値(1、2、3…)を使って計算してしまいます。どのように設定すればよいのでしょうか。 テーブル1 id  フィールド1 1    5 2    10 3    15 4    20 フィールド1の数値をフォームにてルックアップで選んで計算したい(クエリ内の計算式に組み込みたい)。 よろしくお願いいたします。 access2010使用

専門家に質問してみよう