2013-10-27 33 views
1

我有一個下拉選擇菜單,我想知道是否有辦法控制選項擴展的方式?默認情況下,似乎要麼取決於列表中有多少項目。我將如何控制下拉選擇菜單的位置?

我想阻止下拉選項顯示和其他表單域。當您從列表中選擇「國家/地區」時,菜單向下擴展(我想要的位置),但是當您從具有不同選擇的「州/地區」字段中選擇一個選項時(例如英國)擴展到其他表單域,這是我不想要的。有任何解決這個問題的方法嗎?

這裏是我的CSS ----->

#country { 
    position:relative; 
    background-image:url(../images/drop-down-selector.svg); 
    background-position:260px, center; 
    background-repeat:no-repeat; 
    -webkit-appearance:none; 
    -moz-appearance:none; 
    box-shadow:0px 0px 0px 1px #b5e7ff; 
    border:none; 
    outline:none; 
    left:2px; 
    width:292px; 
    height:47px; 
    font-size:1.5em; 
    font-family:'gotham-medium', arial, sans-serif; 
    src:url("http://www.3elementsreview.com/fonts/gotham-medium.otf"); 
    color:#5fccff; 
    border-radius:0; 
} 

#state { 
    position:relative; 
    background-image:url(../images/drop-down-selector.svg); 
    background-position:260px, center; 
    background-repeat:no-repeat; 
    -webkit-appearance:none; 
    -moz-appearance:none; 
    box-shadow:0px 0px 0px 1px #b5e7ff; 
    border:none; 
    outline:none; 
    left:2px; 
    width:292px; 
    height:47px; 
    font-size:1.5em; 
    font-family:'gotham-medium', arial, sans-serif; 
    src:url("http://www.3elementsreview.com/fonts/gotham-medium.otf"); 
    color:#5fccff; 
    border-radius:0; 
} 

附加代碼----->

<select name="Country" id="country"> 
    <option value="">-Country-</option> 
    <option value="United States">United States</option> 
    <option value="United Kingdom">United Kingdom</option> 
    <option value="Canada">Canada</option> 
    <option value="Australia">Australia</option> 
    <option value="Brazil">Brazil</option> 
    <option value="France">France</option> 
    <option value="Italy">Italy</option> 
    <option value="New Zealand">New Zealand</option> 
    <option value="South Africa">South Africa</option> 
</select> 
+2

你可以做一個jsfiddle.net或添加一些更多的代碼讓我做小提琴嗎? –

+0

如果你正在談論''時,IE尤其困難,這就是爲什麼許多插件已被開發出來的原因。你可以做很少的事來改變瀏覽器的默認行爲 – charlietfl

+0

Josh,我添加了HTML。 –

回答

0

你無法控制下拉擴張方向。這是瀏覽器計算的東西。也許你可以嘗試做一些解決方法。製作您自己的自定義下拉系統?也許有一個假的選擇框與第二個下拉列表放置在其他地方。或某些其它與soluti

相關避免你的問題都在一起:How can I control the expansion direction of a drop-down list?

0

瀏覽器通常控制的下拉選項框的位置。通常情況下,如果有足夠的空間向下顯示,它就會這樣做。因爲下面沒有足夠的空間而上升。

一個解決方案是通過使用允許這個的下拉列表插件來控制選項框的高度。像選擇的東西:http://harvesthq.github.io/chosen/。但是,這仍然不能保證選項框始終會關閉。例如,如果輸入框剛好在頁面的底部,那麼選項框應該放在哪裏?

另一種解決方案是將下拉列表替換爲自動完成列表(例如jquery ui自動填充),其選項較少。它可能會改善用戶體驗:)。