2012-03-14 10 views
0

下記の可変価格の結果を1番に取り、カウンタの関数totalpriceに加えて表示したいそれはhtmlの部門IDで!関数から別の関数に結果を追加してDIV ID htmlにJavaで表示する方法

1番]

function startLineRd3(price) { 
    select("line_b"); 
    var color = getColorIndus3(false); 
    var line = new GPolyline([], color); 
    startDrawing(line, "Rd. lvl3 " + (++lineCounter_), function() { 
    var cell = this; 
    var len = line.getLength(); 
    **var price= ((Math.round(len/10)/100) * 1);** 
    cell.innerHTML = (Math.round(len/10)/100) + "km" + " " + "Price: " + price +  "Mil"; 
    }, color); 

}

その2]

function totalprice(Counter) { 
    var Counter= 0; 
    document.getElementById('totalprice').innerHTML = Counter; 
} 

答えて

0

Javascriptの変数は、範囲が限定されています。 startDrawing呼び出しの中でvar priceを定義しています。つまり、startDrawing呼び出しの中にいなければアクセスできません。代わりに、よりグローバルに定義し、startDrawing呼び出しの中で設定します。複数の価格がある場合は、それらの配列が必要な場合があります。そのため、何か変更があるたびに合計することができます。彼らは変更するつもりはない場合は、単にグローバルカウンタを定義し、それに価格を追加startLineRd3が

呼び出されるたびに、少なくとも、これは私があなたの問題がある考える何を解決します。それがあなたの問題ではない場合は、あなたが現在成功していること、そしてあなたの難しさがどこにあるのかをより明確にしてください。

ああ、var priceが入力パラメータ価格と同じであるという事実は少し問題です。あなたは彼らに異なる名前を付けるべきです。

0

まず、JavascriptはJavaとは関係ありません。私は名前が誤解を招いていることを知っています - それはそのように設計されています。

第2に、関数2でCounterを2回宣言しています。あなたが引数としてそれをとっているなら、それを再宣言する必要はありません。そうすることで、最初の宣言がオーバーライドされます。

だから、あなたがラインvar Counter= 0;を削除した場合、その後、あなただけの機能1から機能2を呼び出すことができますので、最初の関数は次のようになります。

function startLineRd3(price) { 
    select("line_b"); 
    var color = getColorIndus3(false); 
    var line = new GPolyline([], color); 
    startDrawing(line, "Rd. lvl3 " + (++lineCounter_), function() { 
    var cell = this; 
    var len = line.getLength(); 
    var price= ((Math.round(len/10)/100) * 1); 
    totalprice(price); 
    cell.innerHTML = (Math.round(len/10)/100) + "km" + " " + "Price: " + price +  "Mil"; 
    }, color); 
} 
+0

は、javaタグの誤用を修正しました。ありがとう。 –

関連する問題