2016-05-24 7 views
0
に最小数の値を入れ

おけば、みんな:innerHTMLの

<select class="select2" id="product1" onchange="shopCalculate(this.value)." > 
           <option value="4.1" >Option 1</option> 
           <option value="4">Option 2</option> 
           <option value="3.9">Option 3</option> 
           <option value="3.8">Option 4</option> 
           <option value="3.75">Option 5</option> 
          </optgroup> 
           <option value="3.7">Option 6</option> 
           <option value="3.65">Option 7</option> 
           <option value="3.6">Option 8</option> 
           <option value="3.5">Option 9</option> 
           <option value="3.5">Option 10</option> 
          </optgroup> 
           <option value="3.5">Option 11</option> 
           <option value="3.3">Option 12</option> 
           <option value="3.1">Option 13</option> 
           <option value="2.9">Option 14</option> 
           <option value="2.7">Option 15</option> 
          </optgroup> 
           <option value="2.5">Option 16</option> 
           <option value="2.3">Option 17</option> 
           <option value="2.1">Option 18</option> 
           <option value="1.9">Option 19</option> 
           <option value="1.7">Option 20</option> 
          </optgroup> 

          </select> 

      <ul> 
      <li><strong class="bg-info"><%= full_title(yield(:title)) %></strong></li> 

      <li id="product_type"></li> 
      <li id="product_sort"></li> 
      <li id="product_tag"></li> 

     <hr/> 
      <li> 
       <strong> 
       Total cost: <span id="cost_eur">€0.00 </span> (<span id="cost_usd" class="small">$0.00</span>) 
       </strong> 
      </li> 
      </ul> 
     <hr/> 

function shopCalculate(a) { 
    var product1 = $('select[id=product_1]').val(); 
    cost_eur.innerHTML = "€" + (a - product1).toFixed(2); 
    cost_usd.innerHTML = "$" + (a - product1 * 1.13).toFixed(2); 
    } 

これはcost_eurとcost_usdする結果を置きますが、合計値が(すなわち< 0)負の取得についていくつかの機会。 値が<の場合、10のような標準数値を設定します。 innerHTMLが文字列を引き出すので、どうすればいいですか? 私はparseFloat()でいくつかのことを試しましたが、明らかにそれはうまくいきませんでした。どんな助けもありがとう!

+0

(.textの 'に' '.val())' –

+0

申し訳ありませんが私の悪い私は間違った道にあなたを持って、コードの重要な部分を忘れてしまいました。編集されました。 – luissimo

答えて

1

もう1つの機能を追加して合計量を計算し、このように渡します。それが役に立てば幸い。

function calculateTotalAmt(a, currencyType) { 
    var totalAmt; 
    var product1 = $('select[id=product_1]').val(); 
    if(currencyType == 'euro') { 
     totalAmt = (a - product1).toFixed(2); 
    } else if(currencyType == 'usd') { 
     totalAmt = (a - product1 * 1.13).toFixed(2); 
    } 
    if(totalAmt != undefined && totalAmt < 10) 
     totalAmt = 10; 
    return totalAmt; 
} 

function divCalculate(a) {  
    cost_eur.innerHTML = "€" + calculateTotalAmt(a,'euro'); 
    cost_usd.innerHTML = "$" + calculateTotalAmt(a,'usd'); 
    } 
+0

うーん、私はあなたがどこで 'ユーロ'と 'usd'変数を取得し、私の側で少し明確に理解していない。私はユーロとドルの両方の値がどちらか一方ではなく印刷される必要があります。 – luissimo

+0

私は通貨の種類を取る関数を書いています。通貨のタイプに基づいて、合計金額を計算します。あなたのコードで提供されているのと同じ計算ロジックをこの関数で使用しました。あなたは将来的に通貨タイプを追加することができますので、私は特に通貨タイプを渡しています。 – abhiagNitk

+0

完璧に感謝しました! – luissimo