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实现效果超级炫的checkbox复选框和radio单选框
Sep 01 HTML / CSS
一款纯css3制作的2015年元旦雪人动画特效教程
Dec 29 HTML / CSS
css3+伪元素实现鼠标移入时下划线向两边展开的效果
Apr 25 HTML / CSS
用CSS3实现无限循环的无缝滚动的示例代码
Nov 01 HTML / CSS
使用CSS3实现SVG路径描边动画效果入门教程
Oct 21 HTML / CSS
详解HTML5 LocalStorage 本地存储
Dec 23 HTML / CSS
使用CSS实现弹性视频html5案例实践
Dec 26 HTML / CSS
在HTML5 Canvas中放入图片和保存为图片的方法
May 03 HTML / CSS
浅谈html5 响应式布局
Dec 24 HTML / CSS
浅谈HTML5 Web Worker的使用
Jan 05 HTML / CSS
移动端html5判断是否滚动到底部并且下拉加载
Nov 19 HTML / CSS
吃透移动端 1px的具体用法
Dec 16 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中使用灵巧的体系结构
2006/10/09 PHP
php采用ajax数据提交post与post常见方法总结
2014/11/10 PHP
Yii2框架dropDownList下拉菜单用法实例分析
2016/07/18 PHP
PHP实现的数组和XML文件相互转换功能示例
2018/03/15 PHP
js继承 Base类的源码解析
2008/12/30 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
javascript实现unicode与ASCII相互转换的方法
2015/12/10 Javascript
浅谈jquery页面初始化的4种方式
2016/11/27 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
2016/12/06 Javascript
ES6新特性之解构、参数、模块和记号用法示例
2017/04/01 Javascript
js实现从左向右滑动式轮播图效果
2017/07/07 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
JavaScript常见JSON操作实例分析
2018/08/08 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
2018/09/03 Javascript
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
2015/12/25 Python
python线程池(threadpool)模块使用笔记详解
2017/11/17 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
python3爬虫获取html内容及各属性值的方法
2018/12/17 Python
详解python中递归函数
2019/04/16 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
2019/06/28 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
基于Tensorflow一维卷积用法详解
2020/05/22 Python
用HTML5制作一个简单的弹力球游戏
2015/05/12 HTML / CSS
《歌唱二小放牛郎》教学反思
2014/04/19 职场文书
暑期社会实践证明书
2014/11/17 职场文书
出国签证在职证明范本
2014/11/24 职场文书
公务员考察材料
2014/12/23 职场文书
教师年终个人总结
2015/02/11 职场文书
初中体育课教学反思
2016/02/16 职场文书
研究生毕业登记表的自我鉴定范文
2019/07/15 职场文书
Python OpenCV快速入门教程
2021/04/17 Python
python树莓派通过队列实现进程交互的程序分析
2021/07/04 Python
使用CSS实现六边形的图片效果
2022/08/05 HTML / CSS