Selectbox获取所有选项值jquery

Jus*_*ind 3 jquery

<select id="selectBox">
    <option value="all">all</option>
    <option value="0">Number 0</option>
    <option value="1">Number 1</option>
    <option value="2">Number 2</option>
    <option value="3">Number 3</option>
    <option value="4">Number 4</option>
    <option value="5">Number 5</option>
    <option value="6">Number 6</option>
    <option value="7">Number 7</option>
</select>
Run Code Online (Sandbox Code Playgroud)

如果用户选择all选项我需要获得所有其他选项值,如0,1,2,3,4,5,6,7

我的代码是:

$("#selectBox").live('change', function () {
    var val = this.value;
    if (val == "all") {
        $("#selectBox>option").map(function () {
            alert($(this).val());
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

任何的想法?

Raj*_*amy 6

尝试使用.map().get()来完成你的任务,

var val=this.value;
var allValues = null;

if (val=="all") {
  allValues = $("#selectBox > option:not(:first)").map(function() {
       return this.value;
  }).get();  //[0,1,2,3,4,5,6,7]
}
Run Code Online (Sandbox Code Playgroud)

完整的代码是,

$("#selectBox").live('change',function(){
    var val=this.value;
    var allValues = null;

    if (val=="all") {
      allValues = $("#selectBox > option:not(:first)").map(function() {
           return this.value;
      }).get();  //[0,1,2,3,4,5,6,7]
    }
});
Run Code Online (Sandbox Code Playgroud)

DEMO

  • @FrédéricHamidiq对不起想到使用`.filter()`根据你的评论进行相应更正..! (2认同)