Javascript Jquery从一个范围获取一个值,从另一个范围获取第二个值,从另一个范围获取第三个值,等等

Javascript Jquery从一个范围获取一个值,从另一个范围获取第二个值,从另一个范围获取第三个值,等等,javascript,jquery,arrays,Javascript,Jquery,Arrays,考虑以下代码示例: HTML <div class="number_group"> <span class="min">0</span> - <span class="max">5</span>: <span class="value">10</span> </div> <div class="number_group"> <span class="

考虑以下代码示例:

HTML

<div class="number_group">
    <span class="min">0</span> -
    <span class="max">5</span>:
    <span class="value">10</span>
</div>

<div class="number_group">
    <span class="min">6</span> -
    <span class="max">10</span>:
    <span class="value">16</span>
</div>

<div class="number_group">
    <span class="min">11</span> -
    <span class="max">15</span>;
    <span class="value">20</span>
</div>

<div class="number_group">
    <span class="min">16</span> -
    <span class="max">20</span>;
    <span class="value">22</span>
</div>

<label>
    <input type="number" id="input_val" min="0" max="20" />
    <button id="check" type="button">Check</button>
</label>

0 -
5:
10
6 -
10:
16
11 -
15;
20
16 -
20;
22
检查
我想用jquery实现的是,在用户在$('input#input#val')中输入数字并单击$('button#check')后,函数返回给定范围内的值

例如,如果用户输入数字3,函数将返回“10”

例如,如果用户输入数字8,函数将返回“16”,以此类推


列表应该是动态的,这意味着我们不知道给出了多少美元('div.number\u group')

迭代
.number\u group
并根据最小值和最大值找出值

$('#检查')。单击(函数(){
var res,
//获取输入的值
num=+$('#input_val').val();
//在div上迭代
$('.number_group')。每个(函数(){
//检查最小值和最大值之间的值

如果(num>=+$('.min',this).text()&&num作为接受答案的替代,您可以在数组中缓存最小值、最大值和值。这将避免每次单击时都必须搜索DOM。另一方面,div.numbergroup在页面加载后必须是静态的

var minMaxArr = [];

$(".number_group").each(function () {
    var minMax = {};
    $this = $(this);
    minMax['min'] = Number($this.children(".min").text());
    minMax['max'] = Number($this.children(".max").text());
    minMax['value'] = Number($this.children(".value").text());
    minMaxArr.push(minMax);
});

$("#check").on('click', function () {
    var inputVal = Number($("#input_val").val());
    var result = getValue(inputVal);
    console.log(result);
})

function getValue(inputVal) {
    for (var cnt = 0; cnt < minMaxArr.length; cnt++) {
        var minMax = minMaxArr[cnt];
        if (minMax.min <= inputVal && minMax.max >= inputVal) {
            return minMax.value;
        }
    }
    return undefined;
}
var minMaxArr=[];
$(“.number_组”)。每个(函数(){
var minMax={};
$this=$(this);
minMax['min']=Number($this.children(“.min”).text());
minMax['max']=Number($this.children(“.max”).text());
minMax['value']=Number($this.children(“.value”).text());
最小最大推力(最小最大);
});
$(“#检查”)。在('click',函数(){
var inputVal=Number($(“#input_val”).val();
var结果=getValue(inputVal);
控制台日志(结果);
})
函数getValue(inputVal){
对于(var cnt=0;cnt
用户的输入如何对应于数字组?如果他们输入3,它会在第三个数字组的范围内得到一个值吗?或者它会在数字组的范围内给出一个与用户输入相对应的数字吗?