移動端下拉列表適配

背景

移動端開發(fā)中,使用select做下拉框浇坐,會導(dǎo)致ios Android下各種樣式的不統(tǒng)一以及表現(xiàn)形式的不統(tǒng)一等問題,因此很少使用原生的select來做下拉框選擇,而是選擇自己模擬下拉框來實現(xiàn)孕似。

插件封裝

在網(wǎng)上看了一些別人寫的代碼,基本上都是這樣的刮刑,拿過來自己鼓搗了下喉祭,記下來方便以后直接使用。如有雷同之處雷绢,敬請諒解泛烙,有哪些可以改進(jìn)的還希望路過大神不吝指點。
廢話不多說翘紊,先上代碼:

html結(jié)構(gòu)
    <div class="selectBox">
        <input id="course" name="course" type="hidden" value="--請選擇--" />
        <div id="courseBox">
            <cite id="courseCite">--請選擇--</cite>
            <ul style="display: none;">
                <li data-input-value="html">html</li>
                <li data-input-value="css">css</li>
                <li data-input-value="js">js</li>
            </ul>
        </div> 
    </div>

說明:

  1. html結(jié)構(gòu)中的三處id必須設(shè)置胶惰;
js插件代碼
      jQuery.selectDiv = function(boxId,inputId,bool){ 
        var selectInput = $(inputId);
        var selectCite = $(boxId+" cite");
        // 下拉列表的顯示與隱藏
        selectCite.on("tap click", function(){ 
            var $ul = $(this).next("ul");
            if($ul.css("display") == "none"){
                $ul.show();
            }else{
                $ul.hide();
            }
        });
        // 選擇框選中后對input的賦值
        $(boxId+" ul li").on("tap click", function(){
            selectCite.html($(this).text());
            selectInput.val($(this).data("inputValue")); // data()方法要求jQuery版本在1.4.3以上
            $(this).parent().hide();
        });
        // 點擊任意處彈窗關(guān)閉
        $("body").on("tap click", function(e) {    
            if (e.target.id != selectCite.eq(0).attr("id")) { // 考慮到頁面中可能會存在多個這樣的下拉框,因此在html結(jié)構(gòu)中需要對每個cite設(shè)置id霞溪,以辨識是哪個下拉框
                if($(boxId+" ul").css("display") == "block"){
                    $(boxId+" ul").hide();
                }
            }
        });
        // 默認(rèn)自動獲取第一個值
        if(typeof(bool) === "boolean" && bool){
            selectCite.html($(boxId+" ul li").eq(0).text());
            selectInput.val($(boxId+" ul li").eq(0).data("inputValue"));
        }
    };
調(diào)用方式

$.selectDiv(boxId, inputId, [bool]);
該方法可以接收三個參數(shù):
boxId: 用于模擬select的下拉框盒子的id
inputId: 用于接收下拉選項的值的input元素的id
bool: 是否給下拉框設(shè)置默認(rèn)值孵滞,是則設(shè)置為true中捆,否可以不傳該參數(shù)

$.selectDiv("#courseBox","#course",true); // 默認(rèn)設(shè)置下拉框的值為第一個下拉項的值
$.selectDiv("#courseBox","#course");

其實,功能很簡單坊饶,只是為了記錄下來方便以后直接使用泄伪。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市匿级,隨后出現(xiàn)的幾起案子蟋滴,更是在濱河造成了極大的恐慌,老刑警劉巖痘绎,帶你破解...
    沈念sama閱讀 216,744評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件津函,死亡現(xiàn)場離奇詭異,居然都是意外死亡孤页,警方通過查閱死者的電腦和手機尔苦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來行施,“玉大人允坚,你說我怎么就攤上這事《旰牛” “怎么了稠项?”我有些...
    開封第一講書人閱讀 163,105評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鲜结。 經(jīng)常有香客問我展运,道長,這世上最難降的妖魔是什么精刷? 我笑而不...
    開封第一講書人閱讀 58,242評論 1 292
  • 正文 為了忘掉前任乐疆,我火速辦了婚禮,結(jié)果婚禮上贬养,老公的妹妹穿的比我還像新娘挤土。我一直安慰自己,他們只是感情好误算,可當(dāng)我...
    茶點故事閱讀 67,269評論 6 389
  • 文/花漫 我一把揭開白布仰美。 她就那樣靜靜地躺著,像睡著了一般儿礼。 火紅的嫁衣襯著肌膚如雪咖杂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,215評論 1 299
  • 那天蚊夫,我揣著相機與錄音诉字,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛壤圃,可吹牛的內(nèi)容都是我干的陵霉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,096評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼伍绳,長吁一口氣:“原來是場噩夢啊……” “哼踊挠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起冲杀,我...
    開封第一講書人閱讀 38,939評論 0 274
  • 序言:老撾萬榮一對情侶失蹤效床,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后权谁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剩檀,經(jīng)...
    沈念sama閱讀 45,354評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,573評論 2 333
  • 正文 我和宋清朗相戀三年旺芽,在試婚紗的時候發(fā)現(xiàn)自己被綠了沪猴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,745評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡甥绿,死狀恐怖字币,靈堂內(nèi)的尸體忽然破棺而出则披,到底是詐尸還是另有隱情共缕,我是刑警寧澤,帶...
    沈念sama閱讀 35,448評論 5 344
  • 正文 年R本政府宣布士复,位于F島的核電站图谷,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏阱洪。R本人自食惡果不足惜便贵,卻給世界環(huán)境...
    茶點故事閱讀 41,048評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望冗荸。 院中可真熱鬧承璃,春花似錦、人聲如沸蚌本。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽程癌。三九已至舷嗡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間嵌莉,已是汗流浹背进萄。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人中鼠。 一個月前我還...
    沈念sama閱讀 47,776評論 2 369
  • 正文 我出身青樓可婶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親兜蠕。 傳聞我的和親對象是個殘疾皇子扰肌,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,652評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,085評論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件熊杨、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,095評論 4 62
  • 其實之前我自己偶爾會記賬曙旭,然后那會就是很老土地用筆和紙一筆筆流水賬記起來。?????斷續(xù)續(xù)記了好長時間呢晶府,唯一的收...
    依叮閱讀 440評論 0 0
  • 朋友圈微商刷屏賣貨與曬娃刷屏桂躏,是可忍孰不可忍?川陆! 是不是說出了大多數(shù)人的心聲剂习,有木有?较沪! 我曾經(jīng)對此也是嗤之以鼻鳞绕,...
    爆款奶爸閱讀 2,124評論 0 3
  • 2014.08.05很榮幸的來到A公司(一個較大的電商公司)们何,當(dāng)時的我充滿了期待,給自己的規(guī)劃便是在這里一邊工作一...
    Zou先生閱讀 278評論 1 0