2017-09-03 149 views
1

我有兩個價格輸入。一個正常的價格,並且更便宜。用jquery獲取百分比

我輸入正常價格,如15900,我想添加該價格的10%折扣。

所以我輸入10到#akcios_onkeyup輸入。

通過此驗證碼,我只能獲得NaN。我究竟做錯了什麼?

<tr class="form-element form-element-text"> 
    <td class="label-col">Normal price: </td> 
    <td> 
    <input type="text" name="termek_normal_ar" id="termek_normal_ar" value="<?php echo isset($_POST["termek_normal_ar"])?$_POST["termek_normal_ar"]:""; ?>" /> 
    </td> 
</tr> 
<tr class="form-element form-element-text"> 
    <td class="label-col">Cheaper price: </td> 
    <td> 
    <input type="text" name="termek_akcios_ar" id="termek_akcios_ar" 
      value="<?php echo isset($_POST["termek_akcios_ar"])?$_POST["termek_akcios_ar"]:""; ?>" /> 
    <span style="margin:0 10px;">or</span> 
    <input type="text" id="akcios_onkeyup" > % discount 
    </td> 
</tr> 
<script type="text/javascript"> 
    $(document).ready(function(e) { 
    $('#akcios_onkeyup').on('keyup', function() 
          {  
     var szazalek = $('#akcios_onkeyup').val(); 
     var osszeg = ($('#termek_normal_ar') - ($('#termek_normal_ar') * szazalek/100)); 
     $('#termek_akcios_ar').val(osszeg); 
    }); 
    }); 
</script> 
+2

您在腳本中忘了一些'.val()' - 您正在嘗試使用jquery集合對象進行數學運算。 – arbuthnott

回答

1

用下面的代碼替換您的腳本。

<script type="text/javascript"> 
    $(document).ready(function(e) { 
    $('#akcios_onkeyup').on('keyup', function() 
          {  
     var szazalek = +$('#akcios_onkeyup').val(); 
     var osszeg = (+$('#termek_normal_ar').val() - (+$('#termek_normal_ar').val() * szazalek/100)); 
     $('#termek_akcios_ar').val(Math.round(osszeg)); 
    }); 
    }); 
</script> 
+0

好的,那有效。我怎樣才能將價格整理?因爲有時我得到1054.1或931.2 – Parkolo11

+0

你可以使用Math.round(osszeg)我已經用Math.round()更新了這個代碼() –

+0

如果這有幫助請接受其他人蔘考的答案。謝謝。 –