jQuery将选定项和未选项添加到数组中

时间:2013-01-28 11:51:37

标签: jquery html jquery-selectors

我需要将表单中的所有选定项附加到数组中,然后将其存储/使用到表单中的其他位置。我还需要抓取未选中的元素并将其放在数组中。

      <select multiple id="conditionBad" name="conditionBad">
        <option class="checker" value="Door">Door</option>
        <option class="checker" value="Light">Light</option>
        <option class="checker" value="Keypad">Keypad</option>
        <option class="checker" value="Cooking Cavity">Cooking Cavity</option>
        <option class="checker" value="Seal">Seal</option>
        <option class="checker" value="Power Cord">Power Cord</option>
        <option class="checker" value="Turn Table">Turn Table</option>
        <option class="checker" value="Grille">Grille</option>
      </select>

基本上,我需要一个jQuery调用,它可以获取所选项的值并将它们分别放入一个数组中,甚至可以用逗号(',')分隔的字符串。我不确定能够做到这一点的函数,我已经尝试通过stackoverflow寻找解决方案。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您可以使用map

<强> Live Demo

var values = $('#conditionBad option').map(function(){
     return this.value;
}).get().join();

选择

var values = $('#conditionBad option:selected').map(function(){
     return this.value;
}).get().join();

未选择

var values = $('#conditionBad option').map(function(){
     if(!$(this).is(':selected'))
        return this.value;
}).get().join();