Javascript 根据用户从阵列中的选择计算交换价格

Javascript 根据用户从阵列中的选择计算交换价格,javascript,jquery,Javascript,Jquery,我使用php从数据库中获取数据,使用json_encode转换为js数组。一切都好。但数组中有4个索引,我试图根据用户在html中的选择使用特定的索引。我想用jquery/js来实现这一点。查看代码以获得更深入的解释 jsfiddle:EDIT:jsfiddle中更新的语法 html 金额 瓦尔1 瓦尔2 Val3 价格 js/jquery var amount = $('#amount'), goldtype = $('#goldtype'), exchange = ["0.5",

我使用php从数据库中获取数据,使用json_encode转换为js数组。一切都好。但数组中有4个索引,我试图根据用户在html中的选择使用特定的索引。我想用jquery/js来实现这一点。查看代码以获得更深入的解释

jsfiddle:EDIT:jsfiddle中更新的语法

html

金额
瓦尔1
瓦尔2
Val3
价格
js/jquery

var amount = $('#amount'),
  goldtype = $('#goldtype'),
  exchange = ["0.5", "1.5", "3.5", "$"] //I will set static array here. //<?php echo json_encode($exchangeRates);?>,
price = $('#price');

var choice = goldtype.val();
if (choice = x) {
  goldtype = exchange[0];
}
if (choice = y) {
  goldtype = exchange[1];
}
if (choice = z) {
  goldtype = exchange[2];
}

amount.add(goldtype).on('change input', function() {
  price.val(function() {
    return (amount.val() * goldtype.val().toFixed(2) + '')
  })
});
var amount=$(“#amount”),
goldtype=$(“#goldtype”),
exchange=[“0.5”、“1.5”、“3.5”和“$”]//我将在此处设置静态数组。//,
价格=$(‘价格’);
var choice=goldtype.val();
如果(选项=x){
goldtype=exchange[0];
}
如果(选项=y){
goldtype=exchange[1];
}
如果(选项=z){
goldtype=exchange[2];
}
amount.add(goldtype).on('change input',function()){
price.val(函数(){
返回值(amount.val()*goldtype.val().toFixed(2)+'')
})
});

请求帮助时,请尽量更加明确,因为这不仅可以节省其他人的时间,还可以降低您的问题被否决和驳回的可能性。
我想到了一些我认为应该是你问题答案的东西,如果没有,请说出来

下面的代码找出选择了哪些选项,并将金额乘以同一索引的交换值

goldtype.change(function () {
    var exchangeIndex = $("select[name='goldtype'] option:selected").index()
    price.val(amount.val() * exchange[exchangeIndex]);
})
我还插入了一段代码,当您第一次单击该数组时,它会根据exchange数组更改您的选项(希望有帮助)


您可以找到代码笔。

“查看代码以获得更深入的解释”。否。请正确解释您希望此代码执行的操作。破译的代码不能代替正确的解释。由于抛出错误,演示被破坏,相关代码难以阅读,缺乏格式。啊,对不起,我可能需要逻辑和语法方面的帮助。。感谢
x
y
z
应该用引号括起来,if语句中的比较应该是与
==
进行的,而不是与
=
(进行赋值)进行的。您可以使用
goldtype.val(exchange[0])
设置
goldtype
字段的值,而不是使用
=
设置。这里有很多错误,我建议您先在不使用数组的情况下设置一组基本事件,然后将数组集成到计算中。除了@nnnnnn所说的,您正在覆盖
goldtype
变量,并且没有在事件句柄中执行值检查。我在JSFIDLE TYSM上修复了一些语法。这很好,但您基于数字。我将数字存储在数组(数据库)中,我不想在下拉列表中显示整数,而是显示为字符串。然后根据选择的字符串从数组中获取整数。Nwm您的脚本在数组中工作,但在php的数组中不工作!谢谢
goldtype.change(function () {
    var exchangeIndex = $("select[name='goldtype'] option:selected").index()
    price.val(amount.val() * exchange[exchangeIndex]);
})