将最小数值放在innerHTML上

时间:2016-05-24 16:11:00

标签: javascript jquery

Oké伙计们我正在开展一个项目:

<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(&lt; 10) 10。我是怎么做到的,因为innerHTML会带出一个字符串。 我用parseFloat()尝试了一些东西,但显然这不起作用。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分: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');
  }