使用jQuery选择HTML select的所有值

时间:2012-10-27 09:55:26

标签: jquery html html-select

我得到了一个HTML select选项,我用PHP生成它。选项的名称是目录中的文件夹。现在我需要jQuery脚本中的值。我只知道命令$('#select :selected').text()$(#select).val(),但两者都只是给我当前选择的选项。

使用PHP的选择框:

<select id="existAlbum" name="existAlbum" size="1">
    <option>SELECT ALBUM</option>
    <?PHP
        foreach ($alledateien as $datei) {

            $dateiinfo = pathinfo($album."/".$datei);
            if ($datei != "." && $datei != ".." && $datei != "background.jpg" && $datei != "loading.gif") {

                echo ('<option>' . $datei . '</option>');
            };
        };
    ?>      
</select>

是否可以在jQuery数组中添加所有值?
我需要将选项值与其他词进行比较。

2 个答案:

答案 0 :(得分:4)

$(function(){

    var optionValues = [];

    $('#existAlbum option').each(function(){
        optionValues.push(this.value);
        //or if you want to use the jquery methods on each option:
        //$(this).val()
        //with your current code, you would need $(this).text(), 
        //since youre not adding any values
        //"this" is the current DOM element (<option>)
    });

    //do stuff with the optionValues-array here

});

答案 1 :(得分:0)

您错过了标记中每个选项的value

echo ('<option value="' . $datei . '">' . $datei . '</option>');

现在实现了正确的标记,获取所有选项值的数组:

var optsArray= $('#existAlbum option').map(function(){
   return this.value  // or $(this).text()
}).get()

DEMO:http://jsfiddle.net/XDm4F/1/