Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.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 html中的货币价格转换_Javascript_Html_Html Select - Fatal编程技术网

Javascript html中的货币价格转换

Javascript html中的货币价格转换,javascript,html,html-select,Javascript,Html,Html Select,我有一张价格表。我想有一个选择标签,使用它可以选择价格显示的货币 选择货币 <select> <option value="1.">usd</option> <option value="1.3">euro</option> </select> <table> <tr><td>Item</td><td>Price</td><

我有一张价格表。我想有一个选择标签,使用它可以选择价格显示的货币

选择货币

<select>
    <option value="1.">usd</option>
    <option value="1.3">euro</option>
</select>

<table>
    <tr><td>Item</td><td>Price</td></tr>
    <tr><td>Watches</td><td>100</td></tr>
    <tr><td>Bike</td><td>200</td></tr>
</table>

美元
欧元
项目价格
手表100
自行车200
我基本上想要一个代码,当选择欧元时,它会将所有美元价格乘以1.3,并在表中替换它


我有一种感觉,应该使用Java脚本来完成,但不知道如何完成。如果有人能帮忙,我会非常感激的。

好吧,假设您有一个id
usdollar
的输入字段,您希望在提交时输入的金额乘以1.3。然后您可以使用JavaScript来实现这一点

大概是这样的:

<script type="text/javascript">
function multiply(){
  var field = document.getElementById('usdollar');
  field.value = parseInt(field.value) * 1.3;
}
</script>
<form onSubmit="multiply();">

函数乘法(){
var字段=document.getElementById('usdollar');
field.value=parseInt(field.value)*1.3;
}

你应该学习一些关于js和DOM的知识

首先在select上添加onchange事件

<select onchange="switch_currency(this.value);">

第二,在您的表上添加一个id

<table id="table_price">

然后使用js,如下所示

<script>
  var switch_currency = function(currency) {
    var table = document.getElementById("table_price");

    for (var i = 1; i < table.children[0].children.length; i++) {
      var td = table.children[0].children[i].children[1];
      td.innerHTML *= currency;
    }
  }
</script>

var开关\货币=功能(货币){
var table=document.getElementById(“价格表”);
对于(var i=1;i
您至少应该尝试一下,如果在实施时遇到更具体的问题,请回来。实际上,这个问题不适合堆栈溢出格式。您完全可以使用一些JavaScript来启用这样的选项。。非常好的解决方案。我有点理解它是如何工作的,但不确定在td.innerText*=currency中定义货币变量的位置。据我所知,调用开关_currency()应该有一个参数,其中传递乘数1或1.3的值。有一种感觉,它应该类似于switch_currency(this.value)——不确定语法是否正确。我说得对吗?还有一点——我想我应该给表中的每一个都加上“value”属性,比如100等等,然后在乘法之前重新计算。否则,每次单击后,价格将乘以系数。这是正确的吗?很抱歉,我错过了参数,我已编辑了答案。但我不太确定在每个TDM中添加“value”属性的目的是什么?如果我正确理解您的代码,我的意思是td=table.children[0]。children[I]。children[1]读取字段的当前内容,因此每次单击“货币选择”时,它都会一次又一次地乘以该值。为了防止这种情况的发生,应该有一个稳定的价格值,这个值是不变的。无论如何,你的答案绝对是最好的。很抱歉,我不能标记它,因为我的声誉低于最低15。。。