2014-01-23 155 views
0

我在想如何按字母順序排列選擇選項。我正在閱讀另一個頁面,在那裏你可以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/

+0

爲什麼不直接用PHP對它們進行排序呢? – j08691

+0

您可能想要使用['scandir'](http://www.php.net/manual/en/function.scandir.php),它可以自動對文件進行排序並且更易於使用。 – rvighne

+0

rvighne,謝謝。我也會研究這一點。我正在採取其他選擇來擴展我對將來可以做到這一點的方式的瞭解。 –

回答

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> 
+0

這工作。非常感謝,現在我理解了這個概念。謝謝! –