0

fiddle.com Web サイトを使用して JavaScript コードを作成しましたしかし、フィドルでは、

ラップなし(ボディ)

オプション。このオプションが何をするのかわかりません。Fiddle のリンクはこちらです。このスクリプトをBloggerブログに追加しましたが、機能しません。

コード

function getTotal(){
    var form = document.theForm;
    var inputs = form.getElementsByTagName('input');
    var length = inputs.length;
    var total = '0';

    for (i = 0; i<length-1; i++){
        if(inputs[i].type == 'radio'){
            var checked = inputs[i].checked?1:0;
            if(checked){
                var value = inputs[i].value.split("~~")[0];
                total -= -value;
            }
        }
    }
    document.getElementById('totalspan').innerHTML="Toplam Fiyat: "+ total + " tl"
    total='0';
}

スクリプトは、選択の合計価格を計算することです。フィドルでそれを見ることができます。また、私は Blogger に持っていますが、私が言ったように機能していません。

私のブログへのリンクはこちらです。

4

1 に答える 1

2

no wrap (body)は、スクリプトがscriptタグ内の新しいタグbodyに挿入されることを意味し、スクリプトが 内の新しいタグno wrap (head)に挿入されることを意味します。jsFiddle ヘルプでそれについて読むことができますscripthead

その他のオプションは、JS コードを特定の DOM イベント ハンドラー (onLoadおよびonDomReady)内にラップします。

あなたのサイトのスクリプト エラーはそれを教えてくれるcalculateTotal is not definedので、名前を確認してください。

合計を計算するときに文字列を使用するのはなぜですか? ネイティブの JS 関数を安全に使用できますparseInt

clickフォームイベントの使用が間違っているというもう1つのポイントchangeは、入力のイベントを使用する必要があることです。

最も簡単なオプションは、次のようにjQueryを使用することです。

$('[name="CPU"], [name="OperatingSystem"], [name="Case"]').on('change', updateTotal);

function updateTotal {
   var total = 0;
   // calculate your total here
   $('#totalspan').text(total);
}

私の 5 分間のフィドルを確認してください: http://jsfiddle.net/GDXuS/5/

data-属性を使用して、価格やその他のデータを保存することもできます ( jQuery サイトを参照)。

そして、いくつかのプログラミング言語を勉強することをお勧めします。

于 2012-10-03T12:03:00.137 に答える