html5 datalist 选中option选项后的触发事件


Posted in HTML / CSS onMarch 05, 2020

使用input + datalist 实现自动补全功能,其中datalist中的内容是根据input输入的内容动态变换的,代码如下

<!DOCTYPE HTML>
<html>
<body>
<script src="./jquery-1.7.2.min.js" type="text/javascript" charset="utf-8"></script>
<script>
function inputSelect(){
 var input_select=$("#input").val();
 var option_length=$("option").length;
 var option_id='';
 for(var i=0;i<option_length;i++){
  var option_value=$("option").eq(i).attr('data-value');
  if(input_select==option_value){
   option_id=$("option").eq(i).attr('data-id');
   break;
  }
 }
 console.log(input_select,option_length,option_id);
};
</script>
<input list="cars"  id="input" οnchange="inputSelect()"/>
<datalist id="cars">
 <option value="111" data-value="111"  data-id="1">
 <option value="122"  data-value="122" data-id="2">
 <option value="1222" data-value="1222" data-id="4">
</datalist>
</body>
</html>

html5中datalist, 对选择的option选项获取对应的属性值.

<!DOCTYPE HTML>
<html>
<body>
<script src="jquery-1.12.4.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
function inputSelect(){
    var input_select = $("#input").val();
    var after_value = input_select.split(".");
    var new_value = after_value[0] + "." + after_value[1] + "." + after_value[2] + ".xxx";
    $("#input").val(new_value);
    var option_length = $("#netsegments").find("option").length;
    var data_id = '';
    var firstIp = 1;
    var lastIp = 255;
    for(var i = 0; i < option_length; i++){
        var option_value = $("option").eq(i).attr('data-value');
        if(input_select == option_value){
            data_id = $("option").eq(i).attr('data-id');
            firstIp = $("option").eq(i).attr('firstIp');
            lastIp = $("option").eq(i).attr('lastIp');
            break;
        }
    }
    console.log("input_select:" + input_select + ",option_length:" + option_length);
    console.log("data_id:" + data_id + ",firstIp:" + firstIp + ",lastIp:" + lastIp);
};</script>
<input list="netsegments" id="input" onchange="inputSelect()" placeholder="xxx.xxx.xxx.xxx" />
<datalist id="netsegments">
    <option label="10.0.23.xxx" value="10.0.23.1~62" data-value="10.0.23.1~62"  data-id="1" firstIp="1" lastIp="62" />
    <option label="10.0.23.xxx" value="10.0.23.64~127"  data-value="10.0.23.64~127" data-id="2" firstIp="63" lastIp="127" />
    <option label="10.0.23.xxx" value="10.0.23.129~192" data-value="10.0.23.129~192" data-id="3" firstIp="129" lastIp="192" />
</datalist>
</body>
</html>

<!-- 选择option的value, 显示在input里, 然后获取对应的属性data-id, firstIp, lastIp -->
测试结果如下:
当选择第二个选项时候, console打印出结果:
  input_select:10.0.23.64~127,option_length:3
  data_id:2,firstIp:63,lastIp:127

html5 datalist 选中option选项后的触发事件

html5 datalist 选中option选项后的触发事件

到此这篇关于html5 datalist 选中option选项后的触发事件的文章就介绍到这了,更多相关html5 datalist 选中option 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
CSS3实现鼠标悬停显示扩展内容
Aug 24 HTML / CSS
用CSS3的box-reflect来制作倒影效果
Nov 15 HTML / CSS
CSS3常用的几种颜色渐变模式总结
Nov 18 HTML / CSS
CSS3实现图片抽屉式效果的示例代码
Nov 06 HTML / CSS
html5理解head_动力节点Java学院整理
Jul 13 HTML / CSS
HTML5 Canvas 起步(1) - 基本概念
May 12 HTML / CSS
html5弹跳球示例代码
Jul 23 HTML / CSS
HTML5之语义标签介绍
Jul 07 HTML / CSS
html5唤起app的方法
Nov 30 HTML / CSS
使用HTML5 Geolocation实现一个距离追踪器
Apr 09 HTML / CSS
html5移动端禁止长按图片保存的实现
Apr 20 HTML / CSS
解决flex布局中子项目尺寸不受flex-shrink限制
May 11 HTML / CSS
关于解决iframe标签嵌套问题的解决方法
Mar 04 #HTML / CSS
Html5 video标签视频的最佳实践
Feb 26 #HTML / CSS
HTML如何让IMG自动适应DIV容器大小的实现方法
Feb 25 #HTML / CSS
HTML实现代码雨源码及效果示例
Feb 25 #HTML / CSS
使用placeholder属性设置input文本框的提示信息
Feb 19 #HTML / CSS
html5实现滑块功能之type=&quot;range&quot;属性
Feb 18 #HTML / CSS
记一次高分屏下canvas模糊问题
Feb 17 #HTML / CSS
You might like
3
2006/10/09 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
2020/03/20 PHP
更改localhost为其他名字的方法
2014/02/10 PHP
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
javascript中的window.location.search方法简介
2013/09/02 Javascript
WEB前端开发框架Bootstrap3 VS Foundation5
2016/05/16 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
在Create React App中启用Sass和Less的方法示例
2019/01/16 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
vue-cli2与vue-cli3在一台电脑共存的实现方法
2019/09/25 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
2019/12/02 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
微信小程序使用GoEasy实现websocket实时通讯
2020/05/19 Javascript
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
跟老齐学Python之用Python计算
2014/09/12 Python
Python简单获取自身外网IP的方法
2016/09/18 Python
python递归查询菜单并转换成json实例
2017/03/27 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
2018/02/24 Python
python的turtle库使用详解
2019/05/10 Python
python梯度下降算法的实现
2020/02/24 Python
公司员工的自我评价范例
2013/11/01 职场文书
户外宣传策划方案
2014/05/25 职场文书
材料采购员岗位职责
2015/04/03 职场文书
市场督导岗位职责
2015/04/10 职场文书
公司财务管理制度
2015/08/04 职场文书
民政局2016年“六一”儿童节慰问活动总结
2016/04/06 职场文书
Pandas 稀疏数据结构的实现
2021/07/25 Python
PHP中多字节字符串操作实例详解
2021/08/23 PHP
深入理解go缓存库freecache的使用
2022/02/15 Golang
经典《舰娘》游改全新动画预告 预定11月开播
2022/04/01 日漫