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之transition实现下划线的示例代码
May 30 HTML / CSS
css3弹性盒子flex实现三栏布局的实现
Nov 12 HTML / CSS
HTML5如何实现元素拖拽
Mar 11 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(一)
Jan 21 HTML / CSS
谈一谈HTML5本地存储技术
Mar 02 HTML / CSS
字中字效果的实现【html5实例】
May 03 HTML / CSS
HTML5 表单验证失败的提示语问题
Jul 13 HTML / CSS
HTML5 移动页面自适应手机屏幕四类方法总结
Aug 17 HTML / CSS
浅析canvas元素的html尺寸和css尺寸对元素视觉的影响
Jul 22 HTML / CSS
html5实现滑块功能之type=&quot;range&quot;属性
Feb 18 HTML / CSS
奇妙的 CSS shapes(CSS图形)
Apr 05 HTML / CSS
纯html+css实现Element loading效果
Aug 02 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/14 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
关于php中一些字符串总结
2016/05/05 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
2018/03/15 PHP
javascript实用小函数使用介绍
2013/11/11 Javascript
ie下$.getJSON出现问题的解决方法
2014/02/12 Javascript
JS中JSON对象和String之间的互转及处理技巧
2016/04/06 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
2016/05/27 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
Vue点击切换颜色的方法
2018/09/13 Javascript
使用rollup打包JS的方法步骤
2018/12/05 Javascript
vue封装swiper代码实例解析
2019/10/08 Javascript
ES2020 已定稿,真实场景案例分析
2020/05/25 Javascript
[43:49]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python自定义进程池实例分析【生产者、消费者模型问题】
2016/09/19 Python
python抽取指定url页面的title方法
2018/05/11 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
Python CategoricalDtype自定义排序实现原理解析
2020/09/11 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
c/c++某大公司的两道笔试题
2014/02/02 面试题
个人自荐信
2013/12/05 职场文书
客房主管岗位职责
2013/12/09 职场文书
会计自我鉴定
2014/02/04 职场文书
小学校长汇报材料
2014/08/20 职场文书
平面设计师岗位职责
2014/09/18 职场文书
房产协议书范本2014
2014/09/30 职场文书
党的群众路线教育实践活动心得体会(乡镇)
2014/11/03 职场文书
2015年安全教育月活动总结
2015/03/26 职场文书
小平您好观后感
2015/06/09 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python
Linux安装apache服务器的配置过程
2021/11/27 Servers