Javascript 按数量计算价格总和
我在下面的代码中将数据附加到我的面板中,其中显示了所有必要的数据 我试图提取显示的价格并乘以数量(将输入的值) 问题是,当我发出警报时,代码中的价格是NaN,尽管它是一个数字Javascript 按数量计算价格总和,javascript,Javascript,我在下面的代码中将数据附加到我的面板中,其中显示了所有必要的数据 我试图提取显示的价格并乘以数量(将输入的值) 问题是,当我发出警报时,代码中的价格是NaN,尽管它是一个数字 $(".container").append( '<p id="name">Drug: '+ drug.name + '</p> <p id="price">Drug Price : '+drug.price+'</p> <input type=
$(".container").append(
'<p id="name">Drug: '+ drug.name + '</p> <p id="price">Drug Price : '+drug.price+'</p>
<input type="text" onKeyUp="multiply()" id="qty" name="qty" />
<p id="total">Total Price $:'+0+' </p>');
function multiply()
{
a = Number(document.getElementById('qty').value);
b = Number(document.getElementById('price').value);
c = a * b;
document.getElementById('total').value = c;
alert('this' + b);
}
$(“.container”).append(
“药品:“+Drug.name+”
药品价格:“+Drug.price+”
总价美元:“+0+”
”;
函数乘法()
{
a=编号(document.getElementById('qty').value);
b=编号(document.getElementById('price')。值);
c=a*b;
document.getElementById('total')。value=c;
警报(‘本’+b);
}
既然您已经在使用jQuery,下面是代码:
使用onkeyup=“multiply(drug.price,this.value)”
请注意,id必须是文档中的uniqe(如果有多个相同的元素,可以使用class),并正确声明javaScript变量
希望有帮助。元素药品价格:'+Drug.price+'
不包含值属性,因为它是段落元素
由于您已经在使用JQuery,所以我将大量代码切换到JQuery,并使用data-
属性来处理值,这样您就可以存储这些值,而无需从元素内容中提取
var-drug={“name”:“test”,“price”:“100”};
//在附加的内容中,我向price元素添加了一个“dataprice”属性
//和一个总跨度,使最终打印更简单
$(“.container”).append(
“药物:“+Drug.name+”
”+
“药品价格:“+drug.price+”
”+
''+
“总价美元:
”;
函数multiply(){
a=数字($('#qty').val());
//这里我们访问数据属性
b=数字($('价格')。数据(“价格”);
c=a*b;
//将最终值打印到前面添加的跨度中
$(“#总跨度”)。文本(c);
警报(“总数=”+c);
}
ID为price
的元素似乎没有值
属性,您只是给它提供了内容。我不知道quantity
ID来自何处,因为它似乎不在您的示例中。@DBS,我刚刚给它一个属性value=1
,但它是NaN,我刚刚编辑了quantity我尝试了您的解决方案,但函数不起作用
function multiply(a,b){
var c = a * b;
document.getElementById('total').value = c;
}