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轻松实现清新 Loading 效果的简单实例
Jun 06 HTML / CSS
css3中背景尺寸background-size详解
Sep 02 HTML / CSS
CSS 3.0 结合video视频实现的创意开幕效果
Jun 01 HTML / CSS
HTML5 Canvas标签使用收录
Jul 07 HTML / CSS
HTML4和HTML5之间除了相似以外的10个主要不同
Dec 13 HTML / CSS
使用HTML5的链接预取功能(link prefetching)给网站提速
Dec 13 HTML / CSS
阻止移动设备(手机、pad)浏览器双击放大网页的方法
Jun 03 HTML / CSS
phonegap常用事件总结(必看篇)
Mar 31 HTML / CSS
基于Html5实现的语音搜索功能
May 13 HTML / CSS
使用html5实现表格实现标题合并的实例代码
May 13 HTML / CSS
详解canvas绘制网络字体几种方法
Aug 27 HTML / CSS
html5 canvas手势解锁源码分享
Jan 07 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根据某字段对多维数组进行排序的方法
2015/03/07 PHP
php中JSON的使用方法
2015/04/30 PHP
详解PHP+AJAX无刷新分页实现方法
2015/11/03 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
用js实现手把手教你月入万刀(转贴)
2007/11/07 Javascript
jQuery 使用手册(七)
2009/09/23 Javascript
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
JavaScript中的私有/静态属性介绍
2012/07/26 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
jQuery浏览器CSS3特写兼容实例
2015/01/19 Javascript
在JSP中如何实现MD5加密的方法
2016/11/02 Javascript
JavaScript中transform实现数字翻页效果
2017/03/08 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
全网小程序接口请求封装实例代码
2020/11/06 Javascript
vue打开新窗口并实现传参的图文实例
2021/03/04 Vue.js
python缩进区别分析
2014/02/15 Python
python获取指定网页上所有超链接的方法
2015/04/04 Python
TensorFlow-gpu和opencv安装详细教程
2020/06/30 Python
python实现批处理文件
2020/07/28 Python
Python之字符串的遍历的4种方式
2020/12/08 Python
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
电脑销售顾问自荐信
2014/01/29 职场文书
资金主管岗位职责范本
2014/03/04 职场文书
土地转让协议书范本
2014/04/15 职场文书
中学生操行评语
2014/04/24 职场文书
2014坚持党风廉政建设思想汇报
2014/09/18 职场文书
国庆节演讲稿范文2014
2014/09/19 职场文书
医生党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
社区低保工作总结2015
2015/07/23 职场文书
财产分割协议书
2016/03/22 职场文书
求职信如何撰写?
2019/05/22 职场文书
python实现简单区块链结构
2021/04/25 Python
如何在Python中妥善使用进度条详解
2022/04/05 Python
js面向对象编程OOP及函数式编程FP区别
2022/07/07 Javascript