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 相关文章推荐
让IE6、IE7、IE8支持CSS3的脚本
Jul 20 HTML / CSS
用CSS3绘制三角形的简单方法
Jul 17 HTML / CSS
CSS3中的content属性使用示例
Jul 20 HTML / CSS
CSS3弹性盒模型flex box快速入门心得(必看篇)
May 24 HTML / CSS
css3通过scale()、rotate()实现放大、旋转
Mar 19 HTML / CSS
CSS3中引入多种自定义字体font-face
Jun 12 HTML / CSS
Html5之svg可缩放矢量图形_动力节点Java学院整理
Jul 17 HTML / CSS
html5视频播放_动力节点Java学院整理
Jul 13 HTML / CSS
HTML5 Web Database 数据库的SQL语句的使用方法
Dec 09 HTML / CSS
使用phonegap进行本地存储的实现方法
Mar 31 HTML / CSS
使用phonegap获取位置信息的实现方法
Mar 31 HTML / CSS
网站性能延迟加载图像的五种技巧(小结)
Aug 13 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中使用模板的方法
2008/05/24 PHP
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
两个php日期控制类实例
2014/12/09 PHP
JavaScript 动态创建VML的方法
2009/10/14 Javascript
js中将URL中的参数提取出来作为对象的实现代码
2011/08/16 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
2016/07/01 Javascript
浅析JavaScript中的array数组类型系统
2016/07/18 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
使用JQuery选择HTML遍历函数的方法
2016/09/17 Javascript
js数组操作方法总结(必看篇)
2016/11/22 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
JavaScript 自定义事件之我见
2017/09/25 Javascript
利用pm2部署多个node.js项目的配置教程
2017/10/22 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
Javascript操作select控件代码实例
2020/02/14 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
2020/05/24 Javascript
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
[54:19]完美世界DOTA2联赛PWL S2 Magma vs PXG 第二场 11.28
2020/12/01 DOTA
Python多线程实例教程
2014/09/06 Python
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
2017/09/26 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
Python+OpenCV图像处理——实现直线检测
2020/10/23 Python
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
中东地区最大的奢侈品市场:The Luxury Closet
2019/04/09 全球购物
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
写好求职信第一句话的技巧
2013/10/26 职场文书
模具专业推荐信
2013/10/30 职场文书
护理专业应届毕业生推荐信
2013/11/15 职场文书
食品安全责任书
2014/04/15 职场文书
学校开除通知书
2015/04/25 职场文书
销售合作意向书范本
2015/05/08 职场文书
Oracle 区块链表创建过程详解
2021/05/15 Oracle
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript