我从数据库获取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"> 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"> 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) + '')
})
});
答案 0 :(得分:1)
请求帮助时要更加明确,因为它不仅可以节省其他人的时间,还可以降低您的问题被低估和解雇的可能性。
我想出了一些我认为应该是你问题的答案,如果没有,请说出来。
以下代码找出选择了哪个选项,并将金额与相同索引的交换值相乘。
goldtype.change(function () {
var exchangeIndex = $("select[name='goldtype'] option:selected").index()
price.val(amount.val() * exchange[exchangeIndex]);
})
我还提交了一段代码,当你第一次点击数组时,会根据交换数组更改你的选项(希望有帮助)。
您可以找到codepen here。