javascript - 如何在js中将select中的文本与数组匹配?

标签 javascript arrays

我选择了几个选项

<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 获取与所选选项中的文本匹配的 koefmag 。 之后我需要在计算中使用这个值 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/

相关文章:

javascript - 通过高阶函数传递参数

javascript - 将 props 传递给 react-router v4 中的路由器组件

php - 从数组 PHP 中提取 [cat_ID]

arrays - ndarray 每行中的 N 个最大值

python - python 中的字节数组总和

javascript - 函数在 React/Redux 中返回 [object Object] 而不是 html

javascript - url传递参数时的编码问题

javascript - js中使用XMLHTTPREQUEST发送base64图像数据 "POST"

c - 指针表示法与数组表示法

c# - 如何在循环外访问字符串数组