从一组<select> </select>创建值数组

时间:2014-02-21 23:12:34

标签: jquery html arrays

这应该很容易,但我正在努力。 jquery的新手我想创建一个数组,它是一系列下拉菜单中选定值的值。 我可以让它只读取第一个下拉菜单值,但希望有一个第二个第三个四分之一等数组

我的HTML是

  <select name="select" id="select">
  <option value="1">one</option>
  <option value="2" selected>two</option>
  </select>
  <select name="select" id="select">
  <option value="1" selected>one</option>
  <option value="2">two</option>
  </select>
  <select name="select" id="select">
  <option value="1">one</option>
  <option value="2" selected>two</option>
  </select>
  <select name="select" id="select">
  <option value="1" selected>one</option>
  <option value="2">two</option>
  </select>

和脚本

$(document).ready(function(){  
    var string = $( "#select" ).map(function() {  
        return this.value;
    }).get().join();

    $("#display").text(string); 
});

我想我需要知道如何将<select>的id识别为数组(在PHP中,通过将[]添加到<select>菜单的名称来完成...

1 个答案:

答案 0 :(得分:1)

工作示例:http://jsfiddle.net/4tvxw/1/

HTML

<select name="select1" class="select">
    <option value="1">one</option>
    <option value="2" selected>two</option>
</select>
<select name="select2" class="select">
    <option value="1" selected>one</option>
    <option value="2">two</option>
</select>
<select name="select3" class="select">
    <option value="1">one</option>
    <option value="2" selected>two</option>
</select>
<select name="select4" class="select">
    <option value="1" selected>one</option>
    <option value="2">two</option>
</select>
<div id="display"></div>

的Javascript

$(document).ready(function(){  
    var str = $( ".select" ).map(function() {  
        return this.value;
    }).get().join();

    $("#display").text(str); 
});

您对多个元素使用相同的ID。 Id通常保留给DOM中的唯一元素。我只是将id切换到了类来使它工作。我还建议为每个表单项使用唯一的名称;这将使得将来更容易获得特定的表单数据。