2012-04-18 83 views
1

任何人都知道在表單下拉列表中創建對齊列的解決方案?可能在表單下拉列表中創建列?

用CSS

也許

跨瀏覽器會派上用場...... 例如

<select size="1"> 
<option> John Smith  | 24 | United States</option> 
<option> Johnny Vegas | 34 | United Kingdom</option> 
<option> Andrew Townsend | 34 | Canada</option> 
</select> 

的豎線是列只是表示對齊..

希望是有道理的

+0

你可能會更好過使用自定義組合框控件,而不是瀏覽器內置的,如果你要乾淨的多列的功能。有一些自定義庫實現這樣的事情。 – mellamokb 2012-04-18 00:58:17

+1

我給你加了一個小提琴。 – gdoron 2012-04-18 01:10:01

+0

您應該使用由div或其他HTML元素創建的自定義下拉菜單。並通過JavaScript定義它的事件,使其看起來像花式下降 – Tarun 2012-04-18 13:03:40

回答

0

gdoron讓我思考,所以我寫了一個快速的PHP黑客對於那些尋找這個線程後來

$name = str_replace("_", "&nbsp;", str_pad($name , 50 ,"_")); 

我相信那裏有其他方式在PHP中做到這一點..

很肯定這會工作跨瀏覽器關閉測試!

確保你的風格的

select style="font-family: monospace;" 
2

它不能用CSS來完成,你可以添加空格來縮進,只是就像你對這個問題所做的一樣。

<select size="1"> 
    <option> John Smith &thinsp; &thinsp; &thinsp; &thinsp;&thinsp;&thinsp;&thinsp;&thinsp; | 24 | United States</option> 
    <option> Johnny Vegas&thinsp;&thinsp;&thinsp;&thinsp;&thinsp;&thinsp;&thinsp; &thinsp;| 34 | United Kingdom</option> 
    <option> Andrew Townsend | 34 | Canada</option> 
</select>​​​​​​​​​​​​​ 

LIVE DEMO

+0

您可能還需要一個固定寬度的字體。 – mellamokb 2012-04-18 00:57:28

+0

你說得很好..但是數據是從數據庫動態的,所以我不知道長度..你認爲我可以用PHP來完成? – Webby 2012-04-18 00:59:17

+0

@Webby。它可以在客戶端或服務器端完成,每種方式都是。 – gdoron 2012-04-18 01:00:29

0

接近最好的方法,如果你是警惕以庫的形式添加到您的頁面加載額外的要求,是使用CSS來創建一個UL麗可見自定義下拉列表並將點擊事件附加到每個li以操縱隱藏的選擇。使用CSS和jQuery/javascript相當容易(我更喜歡jQuery,因爲它不那麼簡單,我習慣了)。