将两个变量(JS)相乘显示在输入上

时间:2014-07-27 11:58:25

标签: javascript

我有一个练习,我需要显示项目,价格,数量的价格等...我很难将价格乘以数量。下面是我的代码,其中包含我正在显示的输入和选项,以及下面的脚本函数,非常感谢帮助!:

<body>
<label>Choose Item</label>
<select onChange="getPrice(this)">
  <option></option>
  <option>Tomatoes</option>
  <option>Lettuce</option>
  <option>Potato</option>
  <option>Carrots</option>
  <option>Artichoke</option>
</select>
<br/>
<label>Price</label>
  <input type="text" id="price" />
<br/>
<label>Quantity</label>
<select onChange="getFull(this)">
  <option></option>
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
  <option>5</option>
</select>
<br />
<label>Total $</label>
  <input type="text" id="quantityPrice" />

<script type="text/javascript">
  var veggy = {};
  veggy ["Tomatoes"] = 5.99 
  veggy ["Lettuce"] = 7.66 
  veggy ["Potato"] = 4.52 
  veggy ["Carrots"] = 2.13 
  veggy ["Artichoke"] = 10.58

function getPrice(select) {
    document.getElementById("price").value = veggy[select.value];
}

var quantity = {};
  quantity ["1"] = 1 
  quantity ["2"] = 2
  quantity ["3"] = 3
  quantity ["4"] = 4
  quantity ["5"] = 5

function getFull(select) {
    document.getElementById("quantityPrice").value = (quantity[select.value] * veggy [select.value]);
}
</script>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

将数字转换为字符串值。

document.getElementById("quantityPrice").value =''+ (quantity[select.value] * veggy [select.value]);

答案 1 :(得分:0)

问题是因为您尝试使用veggy选择的键从price对象获取值。

function getFull(select) {
    document.getElementById("quantityPrice").value = (quantity[select.value] * veggy [select.value]);
}

您在此处传递quanntity select的引用,但您必须获取price表单Item对象。

只需为您的第一个Id提供select的ChooseItems。

<select id="veggy" onChange="getPrice(this)">

getFull就像这样

function getFull(select) {
    var vegSelect = document.getElementById('veggy');
    document.getElementById("quantityPrice").value = (quantity[select.value] * (veggy[vegSelect.value]));
}