Jquery 如何在输入字段上执行乘法

Jquery 如何在输入字段上执行乘法,jquery,Jquery,我有以下代码,我希望能够在使用.keyup()将值键入“数量”输入时执行乘法。因此,基本上用户在“数量”输入中输入一个数字,然后将其值乘以隐藏输入“cash5”和“amazon5”,并在标签“amazon5totalpoints”和“amazon5totalcash”中显示乘法结果。另外,如何使“数量”输入只接受整数?谢谢你 <input name="quantity" type="text" id="quantity" /> <input name="amazon5" ty

我有以下代码,我希望能够在使用
.keyup()
将值键入“数量”输入时执行乘法。因此,基本上用户在“数量”输入中输入一个数字,然后将其值乘以隐藏输入“cash5”和“amazon5”,并在标签“amazon5totalpoints”和“amazon5totalcash”中显示乘法结果。另外,如何使“数量”输入只接受整数?谢谢你

<input name="quantity" type="text" id="quantity" />

<input name="amazon5" type="hidden" id="amazon5" value="450">
<input name="cash5" type="hidden" id="cash5" value="5">
<label id="amazon5totalpoints"></label>
<label id="amazon5totalcash"></label>

<input name="amazon25" type="hidden" id="amazon25" value="3150">
<input name="cash25" type="hidden" id="cash25" value="25">
<label id="amazon25totalpoints"></label>
<label id="amazon25totalcash"></label>

<input name="amazon50" type="hidden" id="amazon50" value="5900">
<input name="cash50" type="hidden" id="cash50" value="50">
<label id="amazon50totalpoints"></label>
<label id="amazon50totalcash"></label>

它看起来像:

$('#quantity').keyup(function() {
    var quantity = parseFloat($(this).val());
    var amazon5= parseFloat($('#amazon5').val());
    var cash5 = parseFloat($('#cash5').val());

    $('#amazon5totalpoints').text((quantity * amazon5 )); 
    $('#amazon5totalcash').text((quantity * cash5)); 
});
代码:


关于数字限制,请查看此处:。您可以使用已经创建和测试的插件。

未经测试,但应立即插入

$('#quantity').keyUp(function(){
    $('#amazon5totalpoints').text( Number( $(this).val() ) * Number( $('#amazon5').val() ) );
    $('#cash5totalpoints').text( Number( $(this).val() ) * Number( $('#cash5').val() ) );
});
试试这个

 <input type="text" onkeypress="return numbersonly(this.id,event,0)" id="quantity" value="1">


 function numbersonly(myfield, e, dec){
    var key;
    var keychar;

    if (window.event)
        key = window.event.keyCode;
    else if (e)
         key = e.which;
    else
         return true;
    keychar = String.fromCharCode(key);

      // control keys
      if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ){
         return true;
      }
      // numbers
      else {    
          if ((("0123456789").indexOf(keychar) > -1)){
              return true;
          }else{
              // decimal point jump
              if (dec && (keychar == ".")){             
                  //myfield.form.elements[dec].focus();
                  var deci = document.getElementById(myfield).value.indexOf(".");
                  if(deci!=-1)return false;
                  return true;
              } else {
                  //document.getElementById(myfield).focus();
                  return false;
              }
          }
      }

仅功能编号(myfield,e,dec){
var键;
var-keychar;
if(window.event)
key=window.event.keyCode;
若否(e)
key=e.which;
其他的
返回true;
keychar=String.fromCharCode(键);
//控制键
如果((键==null)| |(键==0)| |(键==8)| |(键==9)| |(键==13)| |(键==27)){
返回true;
}
//数字
否则{
如果(((((((“0123456789”).indexOf(keychar)>-1)){
返回true;
}否则{
//小数点跳转
如果(dec&(keychar==”){
//myfield.form.elements[dec].focus();
var deci=document.getElementById(myfield).value.indexOf(“.”);
if(deci!=-1)返回false;
返回true;
}否则{
//document.getElementById(myfield.focus();
返回false;
}
}
}
}

$('input[name=quantity]')。键控(函数(e){
var me=这个;
如果(e.which==110 | | e.which==190){//检查整数
警报(“数量应仅为整数”);
返回false;
}否则{

如果((e.which>=96&&e.whick=48&&e.whick=48&&e.whick)这一切看起来有点过分了吗?这个函数只允许用户键入数字。它不会转换值。@bammab用户不能输入任何点符号代码在JSFIDLE中工作,但当我在我的页面上尝试它时,什么都不会发生。这正是我使用的将其包装在
$(文档).ready(函数(){/*将代码放在这里*/});
$('input[name=quantity]').keyup(function(e) {
    var me = this;
    if(e.which == 110 || e.which == 190) { // checking for integer
        alert('Quantity Should be Only Integer');
        return false;
    } else {
        if ((e.which >= 96 && e.whick <= 105) || (e.which >= 48 && e.which <= 57)) {
            $('input[type=hidden]').each(function(index, el) {
                $('label:eq(' + (index + 2) + ')').empty().text($(el).val() * $(me).val());
            });
        }
    }
});