当前位置:小鱼儿玄机二站 > 计算机网络 > js达成select下拉框菜单,javascript中select下拉框的

js达成select下拉框菜单,javascript中select下拉框的

文章作者:计算机网络 上传时间:2019-09-03

本文实例讲述了js实现select下拉框菜单的详细代码。分享给大家供大家参考。具体如下:
运行效果截图如下:

javascript中select下拉框的用法总结,javascript下拉框

本文针对开发项目中遇到的问题,进行了汇总
问题1:**如何选择select的option里面的值?**
首先会用到一个方法 onchange();这个方法主要用于触发,选择框内容改变时间

实现代码:

<!doctype html>
<html>
<head lang="en">
  <meta charset="UTF-8">
</head>
<body>
  <select onchange="test(event)">
    <option>安静</option>
    <option>晴天</option>
    <option>七里香</option>
  </select>
  <script type="text/javascript">
    function test (e) {
      var e = event ? event : window.event;
      alert(e.target.value);
    }
  </script>
</body>
</html>

图片 1

问题2:**可是在开发中,我们一般选择了内容只是为了显示,而真正要做的是和后台进行交互数据传输,这时候,我们为了尽可能减少http数据传输,所以一般会传 id 等作为数据传输标志,如何做?
**开发中,option一般都是动态创建的,那么这时候,我们只需要给你动态创建一个自定义属性。那么如何获取自定义属性呢?

<!doctype html>
<html>
<head lang="en">
  <meta charset="UTF-8">
</head>
<body>

  <select onchange="test(event)" id="sel"></select>

  <script type="text/javascript">
    //定义内容的json数据,一般从后台获取
    var data = [
      {
        name: '晴天',
        id: '1'
      },
      {
        name: '安静',
        id: '2'
      },
      {
        name: '七里香',
        id: '3'
      }
    ];

    createOption('sel',data);
    //创建option
    function createOption(parentId, data){
      var parentId = document.getElementById(parentId);
      for(var i=0; i<data.length; i++){
        var opt = document.createElement('option');
        //设置option的值
        opt.innerHTML = data[i].name;
        //定义option的自定义值
        opt.setAttribute('dataid', data[i].id);
        parentId.appendChild(opt);
      }
    }
    //选取自定义属性的方法
    function test (e) {
      var e = event ? event : window.event;
      var target = e.target;
      var index = target.selectedIndex;
      alert("我的id="+target[index].getAttribute('dataid'));
    }
  </script>
</body>
</html>

结果图如下:

图片 2

这就是我在开发中遇到的问题,希望可以对大家的学习有所启发。

图片 3

您可能感兴趣的文章:

  • Javascript select下拉框操作常用方法
  • JS操作select下拉框动态变动(创建/删除/获取)
  • jquery及原生js获取select下拉框选中的值示例
  • js实现Select下拉框具有输入功能的方法
  • JavaScript实现将数组数据添加到Select下拉框的方法
  • js实现select下拉框菜单

本文针对开发项目中遇到的问题,进行了汇总 问题1: 如何选择select的option里面的值?...

具体代码如下:

<!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' 只取()得内容/分割做为数据源

 delGridComboBox();

 // console.log(sender);
 // for(var i in sender) 
 // {
 //  console.log(i+"|"+sender[i]);
 // }


 var re = /[^)(]*/g //取出()中的内容作为下拉数据源
 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>

如果大家还想深入学习,可以点击jquery下拉框效果汇总、JavaScript下拉框效果汇总进行学习。

以上就是js实现select下拉框菜单的代码,希望本文所述对大家学习javascript程序设计有所帮助。

您可能感兴趣的文章:

  • Select2.js下拉框使用小结
  • Angularjs实现带查找筛选功能的select下拉框示例代码
  • js自定义select下拉框美化特效
  • javascript中select下拉框的用法总结
  • JavaScript实现将数组数据添加到Select下拉框的方法
  • js实现Select下拉框具有输入功能的方法
  • jquery及原生js获取select下拉框选中的值示例
  • JS操作select下拉框动态变动(创建/删除/获取)
  • Javascript select下拉框操作常用方法
  • js实现可输入可选择的select下拉框

本文由小鱼儿玄机二站发布于计算机网络,转载请注明出处:js达成select下拉框菜单,javascript中select下拉框的

关键词: