2017-09-03 150 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

如果这有帮助请接受其他人参考的答案。谢谢。 –