JavaScript实现Select下拉框值获取与自定义属性传递

作者:纸飞机时间:2026-10-29 20:13:03浏览:481

本文总结了JavaScript中Select下拉框的两种常见应用场景。首先介绍如何利用onchange事件获取用户选中的文本值;其次针对前后端交互需求,讲解如何通过动态创建Option并绑定自定义属性(如dataid),在触发事件时获取特定标识符(如ID)以优化数据传输。

Select下拉框获取选中值与自定义属性传参

本文汇总了开发项目中涉及Select下拉框的常见问题。问题一:如何获取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>

Select下拉框获取选中值与自定义属性传参

问题二:在实际开发中,选择内容往往仅用于前端展示,核心需求是与后台进行数据交互。为了减少HTTP数据传输量,通常传递ID等标识符。由于开发中Option多为动态创建,我们需要为动态生成的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>

运行结果如下图所示:

Select下拉框获取选中值与自定义属性传参

若需进一步深入学习,可参考jQuery下拉框效果汇总或JavaScript下拉框效果汇总。

以上为开发中遇到的典型问题及解决方案,希望对读者的学习有所帮助。

作者最新文章