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 相关文章推荐
使用HTML5和CSS3表单验证功能
May 05 HTML / CSS
用CSS3写的模仿iPhone中的返回按钮
Apr 04 HTML / CSS
基于CSS3实现的漂亮Menu菜单效果代码
Sep 10 HTML / CSS
CSS3让登陆面板3D旋转起来
May 03 HTML / CSS
css3 中translate和transition的使用方法
Mar 26 HTML / CSS
详解css3中dispaly的Grid布局与Flex布局
Sep 11 HTML / CSS
详解css3使用transform出现字体模糊的解决办法
Oct 16 HTML / CSS
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
May 08 HTML / CSS
简单介绍HTML5中audio标签的使用
Sep 24 HTML / CSS
详解HTML5中的picture元素响应式处理图片
Jan 03 HTML / CSS
html5移动端禁止长按图片保存的实现
Apr 20 HTML / CSS
详解CSS玩转图片Base64编码
May 25 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
一个PHP分页类的代码
2011/05/18 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
2018/04/20 PHP
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
JavaScript的public、private和privileged模式
2009/12/28 Javascript
javascript中的107个基础知识收集整理 推荐
2010/03/29 Javascript
Javascript面向对象编程(二) 构造函数的继承
2011/08/28 Javascript
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
javascript中的startWith和endWith的几种实现方法
2013/05/07 Javascript
JS 对输入框进行限制(常用的都有)
2013/07/30 Javascript
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
jQuery采用连缀写法实现的折叠菜单效果
2015/09/18 Javascript
jQuery增加与删除table列的方法
2016/03/01 Javascript
vue中如何引入jQuery和Bootstrap
2017/04/10 jQuery
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
详谈JS中数组的迭代方法和归并方法
2017/08/11 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
2017/08/16 Javascript
axios post提交formdata的实例
2018/03/16 Javascript
Vue 嵌套路由使用总结(推荐)
2020/01/13 Javascript
Vue 事件的$event参数=事件的值案例
2021/01/29 Vue.js
[01:37]全新的一集《真视界》——TI7总决赛
2017/09/21 DOTA
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
Python2.x版本中cmp()方法的使用教程
2015/05/14 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
Django之无名分组和有名分组的实现
2019/04/16 Python
python3获取url文件大小示例代码
2019/09/18 Python
如何基于Python实现自动扫雷
2020/01/06 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
如何使用PyCharm引入需要使用的包的方法
2020/09/22 Python
请假条格式范文
2014/04/10 职场文书
诚信考试承诺书范文
2015/04/29 职场文书
毕业论文答辩开场白和答辩技巧
2015/05/27 职场文书
安全生产会议制度
2015/08/06 职场文书
导游词之蓬莱长岛
2019/12/17 职场文书
详解Redis复制原理
2021/06/04 Redis
springBoot基于webSocket实现扫码登录
2021/06/22 Java/Android