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 倾斜的网页图片库实例教程
Nov 14 HTML / CSS
CSS的background属性及CSS3的背景图片设置总结
Jun 13 HTML / CSS
css和css3弹性盒模型实现元素宽度(高度)自适应
May 15 HTML / CSS
HTML5 canvas基本绘图之绘制阴影效果
Jun 27 HTML / CSS
值得收藏的HTML5资源(学习html5的朋友可以收藏下)
Jul 20 HTML / CSS
HTML5 语音搜索只需一句代码
Jan 03 HTML / CSS
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
Apr 24 HTML / CSS
HTML5地理定位实例
Oct 15 HTML / CSS
深入探究HTML5的History API
Jul 09 HTML / CSS
html2canvas把div保存图片高清图的方法示例
Mar 05 HTML / CSS
canvas里面如何基于随机点绘制一个多边形的方法
Jun 13 HTML / CSS
amazeui页面校验功能的实现代码
Aug 24 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/10/08 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
laravel自定义分页效果
2017/07/23 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
javascript中的undefined 与 null 的区别  补充篇
2010/03/17 Javascript
js 浏览器事件介绍
2012/03/30 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
nodejs实现黑名单中间件设计
2014/06/17 NodeJs
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
js获取form的方法
2015/05/06 Javascript
浅析Node.js 中 Stream API 的使用
2015/10/23 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
jquery结合html实现中英文页面切换
2016/11/29 Javascript
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
js实现返回顶部效果
2017/03/10 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
原生js通过一行代码实现简易轮播图
2019/06/05 Javascript
vue3 watch和watchEffect的使用以及有哪些区别
2021/01/26 Vue.js
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
Python自动化构建工具scons使用入门笔记
2015/03/10 Python
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
Python设计模式之命令模式简单示例
2018/01/10 Python
Python3实现个位数字和十位数字对调, 其乘积不变
2020/05/03 Python
Python常用外部指令执行代码实例
2020/11/05 Python
Python实现粒子群算法的示例
2021/02/14 Python
python爬虫scrapy框架的梨视频案例解析
2021/02/20 Python
电子商务专业实习生自我鉴定
2013/09/24 职场文书
学雷锋宣传标语
2014/06/25 职场文书
国际金融专业自荐信
2014/07/05 职场文书
如何写新闻稿
2015/07/18 职场文书
JavaCV实现照片马赛克效果
2022/01/22 Java/Android
springboot用户数据修改的详细实现
2022/04/06 Java/Android
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android