Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按数量计算价格总和_Javascript - Fatal编程技术网

Javascript 按数量计算价格总和

Javascript 按数量计算价格总和,javascript,Javascript,我在下面的代码中将数据附加到我的面板中,其中显示了所有必要的数据 我试图提取显示的价格并乘以数量(将输入的值) 问题是,当我发出警报时,代码中的价格是NaN,尽管它是一个数字 $(".container").append( '<p id="name">Drug: '+ drug.name + '</p> <p id="price">Drug Price : '+drug.price+'</p> <input type=

我在下面的代码中将数据附加到我的面板中,其中显示了所有必要的数据

我试图提取显示的价格并乘以数量(将输入的值)

问题是,当我发出警报时,代码中的价格是NaN,尽管它是一个数字

$(".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;
}