使用jQuery或javascript查找最接近的匹配值

asp*_*rin 8 javascript jquery option

考虑一个标记,如

<select id="blah">
  <option value="3">Some text</option>
  <option value="4">Some text</option>
  <option value="8">Some text</option> // <---- target this tag based on value 7
  <option value="19">Some text</option>
</select>
Run Code Online (Sandbox Code Playgroud)

假设我有一个值,比如说7.是否可以定位其value属性最接近7 的选项标签,在这种情况下,它将是<option value="8">

我知道^哪个意味着从哪个开始,$哪个意味着结束,并希望是否有这样的东西来找到给定值的最接近的匹配.

A. *_*lff 4

我会这样:

http://jsfiddle.net/GNNHy/

var $tmpOption = $('<option value="7">Some text 7</option>');
$("#blah").append($tmpOption);
var my_options = $("#blah option");
my_options.sort(function(a,b) {
    if (parseInt(a.value,10) > parseInt(b.value,10)) return 1;
    else if (parseInt(a.value,10) < parseInt(b.value,10)) return -1;
    else return 0
})

$("#blah").empty().append( my_options );
Run Code Online (Sandbox Code Playgroud)

  • 完美的!追加然后排序!逻辑如此简单,但我却错过了。+1 并接受 (3认同)