js實現(xiàn)select下拉框菜單
更新時間:2015年12月08日 08:45:45 作者:xuejianxiyang
這篇文章主要介紹了js實現(xiàn)select下拉框菜單的詳細(xì)代碼,感興趣的小伙伴們可以參考一下
本文實例講述了js實現(xiàn)select下拉框菜單的詳細(xì)代碼。分享給大家供大家參考。具體如下:
運行效果截圖如下:

具體代碼如下:
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
#gridComboBox {
background: #fff;
border: 1px solid #2d78f4;
border-radius: 2px;
-moz-box-shadow: inset 0 0 4px #06c;
-webkit-box-shadow: inset 0 0 4px #06c;
box-shadow: inset 0 0 4px #06c;
}
</style>
</head>
<body>
<input onclick="doClick(this,'ddd(aa/bb/cc/erererer/dfdfdfdfdfdfdfdfdfdfdfdfdf/ejjejrjerjer//erererer ////////)eee')" />
<input onclick="doClick(this,'ddd(aa/bb/cc/erererer/dfdfdfdfdfdfdfdfdfdfdfdfdf/ejjejrjerjer//erererer ////////)eee')" style='width: 300px;' />
<p><b>Needed Properties:</b> sender.offsetTop & sender.offsetLeft & sender.offsetHeight</p>
</body>
</html>
<script type="text/javascript">
function delGridComboBox() { // 刪除彈出框
var divContainer = document.getElementById('gridComboBox');
if (divContainer) {
divContainer.parentNode.removeChild(divContainer);
}
}
function doClick(sender, str) {//str='ddd(aa/bb/cc/erererer/dfdfdfdfdfdfdfdfdfdfdfdfdf/ejjejrjerjer//erererer ////////)eee' 只取()得內(nèi)容/分割做為數(shù)據(jù)源
delGridComboBox();
// console.log(sender);
// for(var i in sender)
// {
// console.log(i+"|"+sender[i]);
// }
var re = /[^\)\(]*/g //取出()中的內(nèi)容作為下拉數(shù)據(jù)源
var fit = str.match(re);
var fmt = fit[2].split('/');
var divContainer = document.createElement('div');
divContainer.style.width = sender.clientWidth + 2 + "px";
divContainer.style.overflow = "hidden";
divContainer.style.position = 'absolute';
divContainer.style.top = sender.offsetTop + sender.offsetHeight + 'px';
divContainer.style.left = sender.offsetLeft + 'px';
divContainer.style.zIndex = 999;
divContainer.id = "gridComboBox";
for (var i = 0; i < fmt.length; i++) {
console.log('fmt[i]>>', fmt[i]);
var txt = document.createElement('div');
txt.innerHTML = fmt[i];
txt.title = txt.innerHTML;
txt.style.margin = 3+'px';
txt.addEventListener('mouseover', function changeBg(event) {
event.target.style.fontWeight = 'bold';
event.target.style.color = 'white';
event.target.style.backgroundColor = '#2d78f4';
}, false);
txt.addEventListener('mouseout', function unChangeBg(event) {
event.target.style.fontWeight = 'normal';
event.target.style.color = 'black';
event.target.style.backgroundColor = 'white';
}, false);
txt.onclick = function(subSender) {
sender.value = subSender.target.innerText;
delGridComboBox();
};
divContainer.appendChild(txt);
};
document.body.appendChild(divContainer);
};
</script>
如果大家還想深入學(xué)習(xí),可以點擊jquery下拉框效果匯總、JavaScript下拉框效果匯總進(jìn)行學(xué)習(xí)。
以上就是js實現(xiàn)select下拉框菜單的代碼,希望本文所述對大家學(xué)習(xí)javascript程序設(shè)計有所幫助。
您可能感興趣的文章:
- Select2.js下拉框使用小結(jié)
- Angularjs實現(xiàn)帶查找篩選功能的select下拉框示例代碼
- js自定義select下拉框美化特效
- javascript中select下拉框的用法總結(jié)
- JavaScript實現(xiàn)將數(shù)組數(shù)據(jù)添加到Select下拉框的方法
- js實現(xiàn)Select下拉框具有輸入功能的方法
- jquery及原生js獲取select下拉框選中的值示例
- JS操作select下拉框動態(tài)變動(創(chuàng)建/刪除/獲取)
- Javascript select下拉框操作常用方法
- js實現(xiàn)可輸入可選擇的select下拉框
相關(guān)文章
微信小程序BindTap快速連續(xù)點擊目標(biāo)頁面跳轉(zhuǎn)多次問題處理
這篇文章主要介紹了微信小程序BindTap快速連續(xù)點擊目標(biāo)頁面跳轉(zhuǎn)多次問題處理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04
微信小程序methods中定義的方法互相調(diào)用的實例代碼
這篇文章主要介紹了微信小程序methods中定義的方法互相調(diào)用的實例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-08-08
淺談layer的iframe彈窗給里面的標(biāo)簽賦值的問題
下面小編就為大家?guī)硪黄獪\談layer的iframe彈窗給里面的標(biāo)簽賦值的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11

