2012-09-10 31 views
1

我想知道是否有方法將多選列表中的選項值分組。多選形式的選項分組

只是爲了更清晰的視野,我使用以下格式列表 - >http://blog.jeremymartin.name/2008/02/easy-multi-select-transfer-with-jquery.html#

我即興上面的腳本,以便有針對特定數量的子類的父類。所以說例如:家長:傢俱。 兒童:椅子,桌子,抽屜,櫥櫃,牀。

我能夠通過PHP對其進行編碼,以顯示一個非常漂亮的選擇表單列表,其中父類分離的類別,但問題出現時,我試圖從選擇框2中刪除它們回到選擇框1通過jQuery。追加只是將我的子類別返回到列表的底部。

無論如何,它使得當用戶點擊刪除按鈕時,類別將回到它自己的父級下,而不是列表的底部。

以下是需要它的人的代碼。

   //GET CATEGORIES SELECT OPTIONS 
              . 
              . 
             Database Query 
              . 
              . 
       foreach($cat_values as $opt_values){ 
               . 
               . 
          Database Query to check if Category have parent. 
         $cat_is_parent == "0" means the option value is the parent. 
               . 
               . 
        if($cat_is_parent == "0"){ 
         echo '<option disabled="disabled" value="'.$opt_values[0].'" style="font-size:15px">'.$opt_values[1].'</option>'; 
        } 
        else{ 
         echo '<option value="'.$opt_values[0].'">-->'.$opt_values[1].'</option>'; 
        } 
       } 
+0

jquery與本教程中的相同。 – Lawrence

+0

使用['optgroup'](https://developer.mozilla.org/en-US/docs/HTML/Element/optgroup)不是'

+0

嗨。感謝您的optgroup建議。現在名單看起來好多了。 – Lawrence

回答

0

你將不得不使用.after()功能,而不是.append()As you can see in the docs,您可以指定父元素並使用.after()函數將選定的元素放在它後面。

看看這個例子:http://jsfiddle.net/gntGG/1/當您返回元素到第一個列表

,將始終放在第一個選項之後。

+0

嗨。傑夫,感謝您的幫助,但我仍然無法將其與我的情況。因爲用戶將能夠從**選擇框1 **中的2個optgroup中選擇任意一個,並將他們的類別放在**選擇框2 **下。我想我需要爲每個選項使用.each函數:在**選擇框2 **中選擇,但不知道如何設置條件,以便當**選擇框2 **中的每個選定值返回時,它會回到其各自的optgroup。建議感激。 – Lawrence