JavaScript帶下拉選單的文字框
在一些效果中,文字框有這樣的功能,那就是具有類似select下拉框的功能,宛如是集文字框與下拉框功能於一體的控制元件。
下面通過例項程式碼介紹一下如何實現此功能。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> .list-name-input{ color:#333; font-size:15px; font-weight:bold; height:50px; margin:0px; padding:0px; position:relative; width:530px; } .list-name-for-select{ border:0; color:#555; height:20px; lighting-color:rgb(255, 255, 255); line-height:20px; margin:0 0 10px 0; outline-color:#555; outline-offset:0px; outline-style:none; outline-width:0px; padding:4px 6px; position:absolute; top:1px; left:3px; vertical-align:middle; width:486px; } .list-name-input-for-select:focus{ border:0; border-radius:0; } .list-select{ background-color:#FFF; border:1px #ccc solid; border-radius:4px; color:#555; cursor:pointer; height:30px; left:0px; margin:0 0 10px 0; padding:4px 6px; position:absolute; top:0px; vertical-align:middle; white-space:pre; width:530px; } </style> <script type="text/javascript"> window.onload=function(){ var listName=document.getElementById('list-name-for-select'); var listSelect=document.getElementById('list-select').onchange=function(e){ if(this.value){ listName.value=this.value + ' | ' + this.options[this.selectedIndex].text; } else{ listName.value='' } }; } </script> </head> <body> <div id="list-name-input" class="list-name-input"> <select type="text" class="list-select" id="list-select"> <option value="">--請選擇--</option> <option value="0">螞蟻部落一</option> <option value="1">螞蟻部落二</option> <option value="2">螞蟻部落三</option> <option value="3">螞蟻部落四</option> <option value="4">螞蟻部落五</option> <option value="5">螞蟻部落六</option> <option value="6">螞蟻部落七</option> <option value="7">螞蟻部落八</option> </select> <input type="text" class="name item-width list-name-for-select" id="list-name-for-select"> </div> </body> </html>
點選文字框的右側按鈕可以出現下拉選單效果,下面介紹一下它的實現過程。
一.實現原理:
原理非常簡單,文字框和select下拉選單都採用的絕對定位,沒有設定z-index屬性值,後面的文字框能夠覆蓋select下拉選單,經過覆蓋之後,select下拉選單的第一項"--請選擇--"會被覆蓋,只會顯示下拉箭頭。點選箭頭會出現下拉選單,選中後能夠將下拉選單的值和文字內容寫入文字框。
二.程式碼註釋:
(1).window.onload=function(){},當文件載入完畢再去執行函式中的程式碼。
(2).var listName=document.getElementById('list-name-for-select'),獲取文字框元素物件。
(3).var listSelect=document.getElementById('list-select').onchange=function(e){},註冊change事件處理函式。
(4).if(this.value){listName.value=this.value + ' | ' + this.options[this.selectedIndex].text;},如果下拉選單選中項的值不為空,就將當前選中項的value值和文字內容寫入文字框。
(5).else{listName.value=''},如果選中項的值為空,那麼文字框的內容為空。
相關文章
- 下拉選單框和滾動條
- 使用Vue實現下拉選單框批量新增選項Vue
- WPF實現樹形下拉選單框(TreeComboBox)
- vue使用iview實現單選,禁選,下拉框的效果VueView
- JavaScript二級下拉選單詳解JavaScript
- JavaScript動態操作select下拉選單JavaScript
- JavaScript slide下拉導航選單效果JavaScriptIDE
- Vue.js 帶下拉選項的輸入框(Textbox with Dropdown)元件Vue.js元件
- 純原生javascript下拉框表單美化例項教程JavaScript
- 多選下拉框xmSelect
- JavaScript滑鼠懸浮出現下拉選單效果JavaScript
- select 下拉框選中事件事件
- JavaScript下拉摺疊導航選單講解JavaScript
- layui前端選單構建-批量刪除-彈框填寫-樹狀選單-樹狀下拉框選擇treeSelectUI前端
- WPF中下拉框即可以選擇項也可以作為只讀文字框使用
- 前臺呼叫下拉選單框值(列舉欄位)
- C#實現的下拉多選框,下拉多選樹,多級節點C#
- JavaScript新增一個文字框並帶有刪除按鈕JavaScript
- 讓前端的下拉框支援單選、多選及全選,後臺MyBaits解決方案前端AI
- 帶有多選和突出顯示關鍵字的自定義下拉選擇框(靜態)
- JavaScript 動畫效果緩慢二級下拉選單JavaScript動畫
- selenium+python 下拉框選擇Python
- uniapp 實現複選下拉框APP
- vue下拉選單Vue
- [開發教程]第23講:Bootstrap帶下拉選單的按鈕boot
- Js/JQuery下拉框新增新選項JSjQuery
- 求教:python+selenium 下拉框選擇Python
- jQuery和CSS3摺疊卡片式下拉選單框特效jQueryCSSS3特效
- jQuery和css3超讚select下拉選單框美化外掛jQueryCSSS3
- EasyExcel 自適應列寬、隱藏列、動態列、單元格下拉框選擇資料、單元格文字格式Excel
- HTML select 下拉選單HTML
- HTML select下拉選單HTML
- kendoUI 多選下拉選單 kendoMultiSelectUI
- excel生成單元格帶下拉選項的模板 + 資料匯入Excel
- jquery獲取下拉框選中的屬性值jQuery
- 下拉框
- 金蝶雲星空——過濾介面文字框彈出選單介面
- laravel-excel匯出excel下拉選擇框LaravelExcel