我选择了几个选项
<select id="delivery">
<option>London</option>
<option>Berlin</option>
<option>Paris</option>
</select>
我有这样的js
$(document).ready(function () {
function valParam () {
var cities = [
{ city: 'London', koef: 1, mag: 34.2},
{ city: 'Berlin', koef: 1.25, mag: 34.2},
{ city: 'Paris', koef: 1.25, mag: 11.7}
];
var text= $('#text').val();
};
$('.calculator').on('change', valParam);
})
我需要从 arr 获取与所选选项中的文本匹配的 koef
和 mag
。
之后我需要在计算中使用这个值 result = (text + koef) * mag
如何将 select 中的文本与 js 中的数组进行匹配并保存这些值?
最佳答案
我假设#text
是包含数值的输入
(您没有在问题中写任何内容)
$(document).ready(function () {
function valParam () {
var city = $('#delivery').val();
var text = parseFloat($('#text').val());
var result = null;
var cities = [
{ city: 'London', koef: 1, mag: 34.2},
{ city: 'Berlin', koef: 1.25, mag: 34.2},
{ city: 'Paris', koef: 1.25, mag: 11.7}
];
for (var ind = 0, ln = cities.length; ind < ln; ind++){
if (cities[ind].city === city){
result = (text + cities[ind].koef) * cities[ind].mag;
break;
}
}
// here 'result' should have the calc you need.
alert(result);
};
$('.calculator').on('change', valParam);
})
<小时/>
我无法创建正确的 JsFiddle,因为我什至不知道 .calculator
是什么,但是 HERE我上面的测试代码的“解决方法”。
代码测试:
如果#text
值为3 ..
- 伦敦结果 = 136.8
- 柏林结果 = 145.35000000000002
- 巴黎结果 = 49.724999999999994
关于javascript - 如何在js中将select中的文本与数组匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35147095/