1

我得到了一个 HTMLselect选项,它是用 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 数组中添加所有值?
我需要将选项值与其他词进行比较。

4

2 回答 2

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

});
于 2012-10-27T10:05:25.160 回答
0

您缺少value标记中每个选项的

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

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

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

演示:http: //jsfiddle.net/XDm4F/1/

于 2012-10-27T10:07:30.547 回答