2011-09-16 1 views
0

私は選択された製品のテーブルを持っています。私は、動的にJavaScriptを使用して、リフレッシュせずにユーザーの特定の値を計算したいと思います。数量入力ボックス(VAR t0の)、単位量(するvar amt0)、総量(するvar TA0)、単位重量(するvar weight0)及び全動的なJavaScriptの計算によるループ

ユーザがフィールドの数を見体重(var tw0)。

以下のコードは、私が望むように動作します。ユーザーが入力した数量に単位金額を掛けて合計金額に設定します。体重についても同じことが行われます。 0は製品の最初の外観を示します。問題は、ユーザーが選択する製品の数がわからないことです。

引数.lengthを使用して製品の数を決定できます。私の質問は、おそらく繰り返し変数iで0を置き換えるためにどのようにループを構築できますか?選択された製品の数に対応する以下のスクリプトを作成する必要があります。

//QTY FIELD 
    var qtyVal0 = t0.value; 
//AMT FIELD 
    var amtVal0 = amt0.innerHTML; 
    ta0.value = qtyVal0 * amtVal0; 
//WEIGHT FIELD 
    var weightVal0 = weight0.innerHTML; 
    tw0.value = qtyVal0 * weightVal0; 

Iは 'のループ' とvar ('qtyVal' + i)ならびにvar qtyVal + iを使用してみました。間にあるすべての組み合わせ

私はまた、上記の作業スクリプトを12回複製するだけですが、重複の数が製品の数と異なる場合、残念ながら動作しません。

Javascriptは何の意味もありませんので、助けてください(またはより効率的な計算方法)。ありがとうございました!

PS私の愛と尊敬の念のために、3つの縦の列のそれぞれにすべての量、量、および重量を追加するという問題にも取り組む必要があります。これが計算の設計方法に影響するかどうかはわかりません。もう一度、ありがとう!

更新 ここには、ユーザーに表示されるフォームのHTMLコードがあります。私は別のPHPスクリプトで生成し、ユーザーが製品のリストから選択すると、それをページに挿入します。現在3つの製品が表示されていますが、前述のとおり、これは任意の数に変更できます。うまくいけば、これはより明確です。私に教えてください。乾杯。

<table border="0" cellspacing="5" cellpadding="5"> 
    <tbody> 
    <tr> 
     <td><!--PRODUCTS SELECTED WILL BE DISPLAYED HERE --> 

     <div id="txtHint"> 
      <table id="products" width="1050" cellpadding="5" border="1"> 
      <tbody> 
       <tr> 
       <th>QTY</th> 
       <th>Product</th> 
       <th>Unit Cost</th> 
       <th>Unit Measure</th> 
       <th>Amount</th> 
       <th>Total Amount</th> 
       <th>Weight</th> 
       <th>Total Weight</th> 
       <th>LBS/KGS</th> 
       <th>Rec D</th> 
       <th>Rec Q</th> 
       <th>Status</th> 
       </tr> 
       <tr> 
       <td><input name="t0" id="t0" type="text" onkeyup="return autocalc(this,t1,t2)" size="5" maxlength="5" tabindex="$i"></td> 
       <td>Catalogue</td> 
       <td>$150</td> 
       <td>Each</td> 
       <td><span id="amt0">10</span></td> 
       <td><input name="ta0" id="ta0" type="text" readonly="readonly" value="10" size="5" maxlength="5" tabindex="-1"></td> 
       <td><span id="weight0">101</span></td> 
       <td><input name="tw0" id="tw0" type="text" readonly="readonly" value="101" size="5" maxlength="5" tabindex="-1"></td> 
       <td>LBS</td> 
       <td>REC D</td> 
       <td>REC Q</td> 
       <td>STATUS</td> 
       </tr> 
       <tr> 
       <td><input name="t1" id="t1" type="text" onkeyup="return autocalc(this,t0,t2)" size="5" maxlength="5" tabindex="$i"></td> 
       <td>Product2</td> 
       <td>$18</td> 
       <td>Each</td> 
       <td><span id="amt1">15</span></td> 
       <td><input name="ta1" id="ta1" type="text" readonly="readonly" value="15" size="5" maxlength="5" tabindex="-1"></td> 
       <td><span id="weight1">50</span></td> 
       <td><input name="tw1" id="tw1" type="text" readonly="readonly" value="50" size="5" maxlength="5" tabindex="-1"></td> 
       <td>LBS</td> 
       <td>REC D</td> 
       <td>REC Q</td> 
       <td>STATUS</td> 
       </tr> 
       <tr> 
       <td><input name="t2" id="t2" type="text" onkeyup="return autocalc(this,t0,t1)" size="5" maxlength="5" tabindex="$i"></td> 
       <td>Product3</td> 
       <td>$236</td> 
       <td>Each</td> 
       <td><span id="amt2">1</span></td> 
       <td><input name="ta2" id="ta2" type="text" readonly="readonly" value="1" size="5" maxlength="5" tabindex="-1"></td> 
       <td><span id="weight2">50</span></td> 
       <td><input name="tw2" id="tw2" type="text" readonly="readonly" value="50" size="5" maxlength="5" tabindex="-1"></td> 
       <td>LBS</td> 
       <td>REC D</td> 
       <td>REC Q</td> 
       <td>STATUS</td> 
       </tr> 
       <tr> 
       <td><input name="total" type="text" readonly="readonly" value="0" size="5" maxlength="5" tabindex="-1"></td> 
       <td>&nbsp;</td> 
       <td>&nbsp;</td> 
       <td>&nbsp;</td> 
       <td>&nbsp;</td> 
       <td><input name="totalAmount" type="text" readonly="readonly" value="0" size="5" maxlength="5" tabindex="-1"></td> 
       <td>&nbsp;</td> 
       <td><input name="totalWeight" type="text" readonly="readonly" value="0" size="5" maxlength="5" tabindex="-1"></td> 
       <td>&nbsp;</td> 
       <td>&nbsp;</td> 
       <td>&nbsp;</td> 
       <td>&nbsp;</td> 
       </tr> 
      </tbody> 
      </table> 
     </div></td> 
    </tr> 
    <tr> 
     <td><input type="submit" id="submitbtn" name="submit" value="Save Changes"> 
     <input type="hidden" name="action" value="create_po"></td> 
    </tr> 
    <tr> 
     <td></td> 
    </tr> 
    </tbody> 
</table> 
+0

私はあなたを助けたいと思っていますが、この質問はあまりにも不明です。これらの変数( 't0'、' amt0'、 'ta0'、' tw0')はどこから来ますか?私はより多くのコードが必要と思う。 – Hemlock

+0

これを最初にブラウザに送信するのは何ですか?これはあなたがサーバー側でできることですか? –

+0

amt0、amt1、...を取得している関数呼び出しやHTMLを表示してください。私は彼らがどこから来たのか理解していないので、プログラムでアクセスするのを手助けすることはできません。 – jfriend00

答えて

0

あなたは死んセットHTML/DOM自体からこれを計算するにしている場合は、適切なテーブル行を反復処理する必要があります(あなたが喜んでいるよ、jQueryの使用を検討してください)、引き抜き(何、表のセル?)から問題のデータを数値に変換し、数学を通常どおりに行います。

これを行うにはいくつかの方法がありますが、データを取得するHTMLには多くの要素があります。

+0

ありがとうございました。私は明確にするために例にHTMLコードを追加しました。それは役に立ちますか?そうです、これは私が作成したテーブルで、データはハードコードされた値とユーザー入力値の組み合わせから得られます。 – Andrew

関連する問題