根据用户对阵列的选择计算交换价格

时间:2016-07-02 13:55:06

标签: javascript jquery

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

jsfiddle:编辑:jsfiddle中更新的语法

https://jsfiddle.net/Lqd9vjnh/2/

HTML

    <label for="amount"><h3><i class="fa fa-database">&nbsp;Amount</i></h3></label>
                                    <input type="text" class="form-control" id="amount" name="gpamount" required>

<select class="form-control" name="goldtype" style="margin-top:30px; width: 70%;" id="goldtype">
                                            <option value="x">Val1</option>
                                            <option value="y">Val2</option>
                                            <option value="z">Val3</option>
                                        </select>

                        <label for="price"><h3><i class="fa fa-database">&nbsp;Price</i></h3></label>
                                        <input type="text" class="form-control" id="price" >

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) + '')
  })
});

1 个答案:

答案 0 :(得分:1)

请求帮助时要更加明确,因为它不仅可以节省其他人的时间,还可以降低您的问题被低估和解雇的可能性。
我想出了一些我认为应该是你问题的答案,如果没有,请说出来。

以下代码找出选择了哪个选项,并将金额与相同索引的交换值相乘。

goldtype.change(function () {
    var exchangeIndex = $("select[name='goldtype'] option:selected").index()
    price.val(amount.val() * exchange[exchangeIndex]);
})

我还提交了一段代码,当你第一次点击数组时,会根据交换数组更改你的选项(希望有帮助)。

您可以找到codepen here