- 作(zuò)者:admin
- 發表時(shí)間(jiān):2013-07-02 14:17:12
- 來(lái)源:未知
我們在進行(xíng)表單設計(jì)時(shí),可(kě)能要用到select下拉選項控件,遺憾的是,IE浏覽器(qì)默認的select控件外觀非常醜陋,而且不能用樣式來(lái)控制(zhì),不能在選項中添加圖片等信息。今天我将通(tōng)過實例來(lái)講解如何用CSS和(hé)jQuery來(lái)制(zhì)作(zuò)漂亮的下拉選項菜單。
XHTML
請(qǐng)選擇城市
可(kě)以看出,我們使用div來(lái)替換下拉選項控件原生(shēng)的select标簽。
CSS
#dropdown{width:186px; margin:80px auto; position:relative} #dropdown p{width:150px; height:24px; line-height:24px; padding-left:4px; padding-right:30px; border:1px solid #a9c9e2; background:#e8f5fe url(arrow.gif) no-repeat right 4px; color:#807a62; cursor:pointer} #dropdown ul{width:184px; background:#e8f5fe; margin-top:2px; border:1px solid #a9c9e2; position:absolute; display:none} #dropdown ul li{height:24px; line-height:24px; text-indent:10px} #dropdown ul li a{display:block; height:24px; color:#807a62; text-decoration:none} #dropdown ul li a:hover{background:#c6dbfc; color:#369}
樣式不要多(duō)講,你(nǐ)可(kě)以修改CSS中的背景色和(hé)字體(tǐ)顔色,甚至其他任意定義的樣式。有(yǒu)一個(gè)下拉箭頭的小(xiǎo)圖标,已經打包在附件裏了。
jQuery
首先,當單擊“請(qǐng)選擇城市”時(shí),判斷下拉的層“ul”是否處于顯示狀态,如果是則隐藏下拉選項,否則則打開(kāi)(下滑)下拉選項。
$("#dropdown p").click(function(){ var ul = $("#dropdown ul"); if(ul.css("display")=="none"){ ul.slideDown("fast"); }else{ ul.slideUp("fast"); } });
然後,當單擊下拉選項時(shí),獲取選項內(nèi)容,将選項內(nèi)容寫入到
标簽中,同時(shí)隐藏下拉選項。
$("#dropdown ul li a").click(function(){ var txt = $(this).text(); $("#dropdown p").html(txt); $("#dropdown ul").hide(); });
這樣就完成了一個(gè)簡單的下拉選項的操作(zuò),是不是很(hěn)簡單啊。
當然,如果與後台交互,需要獲取選項的value值,那(nà)就需要先定義XHTML。
請(qǐng)選擇城市
從代碼中可(kě)以看出,在給a标簽加個(gè)rel屬性,并賦值,就相當于select的option标簽的value值。接下來(lái)就是通(tōng)過jQuery獲取rel值,請(qǐng)看代碼:
$("#dropdown ul li a").click(function(){ var txt = $(this).text(); $("#dropdown p").html(txt); var value = $(this).attr("rel"); $("#dropdown ul").hide(); $("#result").html("您選擇了"+txt+",值為(wèi):"+value); });
這樣就完成了一個(gè)完整的下拉選項的操作(zuò)。