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());
});
}
}
});