按字母顺序排序选择

时间:2014-01-23 02:25:16

标签: php html sorting

我想知道如何按字母顺序对选择选项进行排序。我正在另一个页面上阅读,你可以在jQuery中完全掌握它,我只是对我在用于选择的代码上使用它感到困惑。

这是我的选择代码:

<select class="form-control" id="rareImage" name="rareImage">
<?php
    if($open = opendir(ROOT .'/resources/images/small_furni')) {
        while(false != ($file = readdir($open))) {
            if($file == '.' || $file == '..') {
                continue;
            }
            echo '<option value="'. $file .'" '. ((isset($rareimage) && $rareimage == $file) ? 'selected' : '') .'>'. $file .'</option>';
        }
    }
?>
</select>

另一个页面建议给它一个选项值,然后使用jQuery对它进行排序。但就像我说的那样,我对如何在这段代码上使用它感到困惑。基本上,上面的代码输出了一个可供选择的图像列表,但它们不是按字母顺序排列的。

我使用的参考:http://jsfiddle.net/3YjNR/2/

1 个答案:

答案 0 :(得分:1)

我所做的是,我将从while循环获得的所有值放入数组中。然后我对数组进行了排序,并使用foreach循环遍历...我认为有更好/更快的方法来实现它,但这是我到目前为止所做的。

<select class="form-control" id="rareImage" name="rareImage">
<?php
$arr=array();
if($open = opendir(ROOT .'/resources/images/small_furni')) {
    while(false != ($file = readdir($open))) {
        if($file == '.' || $file == '..') {
            continue;
        }
        $files[]=$file;
    }
}
sort($files);
foreach($files as $file) echo '<option value="'. $file .'" '. ((isset($rareimage) && $rareimage == $file) ? 'selected' : '') .'>'. $file .'</option>';
?>
</select>