修改select标签为可输入内容的input标签,同时在首次点击第一个下拉框时也会触发onchange事件
来源:互联网 发布:windows 10技巧 编辑:程序博客网 时间:2024/05/07 02:51
项目中有一块需要一个可以输入信息的下拉框,并且输入信息时动态的显示下拉框的内容,
效果如下:
javaScript代码:
//搜索框 function intellCheckChannel(){ var html = ""; html += '<select name="sel" id="sel" style="width:191px;background::#6a7383;" onchange="querySel($(this))">'; //遍历 html += '<option value="" style="color:#6a7383; margin: 0px 10px 0px 10px;"><label>全部产品</label></option>'; $.each(fuzzyQueryMap.data,function(key, value) { html += '<option value="'+key+'" selected="selected" style="color:#6a7383;margin: 0px 10px 0px 10px;"><label>' + value + '</label></option>'; }); html += '<input id="box" style="width:172px; height:19px;position:absolute;left:0px;" onkeyup="queryKeyup($(this))" name="queryVO.fundCode" value="">'; html += '</select>'; $("#select").html(html); } //点击时将select下拉框的值赋给input function querySel(sel){ var s = sel.val(); $("#box").val(s); queryRedeemFund(); } //input输入信息时动态显示下拉框 function queryKeyup(sel){ var pid = sel.val(); var html = ""; html += '<select name="sel" id="sel" style="width:191px;background::#6a7383;" onchange="querySel($(this))">'; html += '<option value="" style="color:#6a7383;margin: 0px 10px 0px 10px;"><label>全部产品</label></option>'; //遍历 $.each(fuzzyQueryMap.data,function(key, value) { html += '<option value="'+key+'" selected="selected" style="color:#6a7383;margin: 0px 10px 0px 10px;"><label>' + value + '</label></option>'; }); html += '<input id="box" style="width:172px; height:19px;position:absolute;left:0px;" onkeyup="queryKeyup($(this))" name="queryVO.fundCode" value="">'; html += '</select>'; html += '<div class="p_c_pull align_left">'; html += '<ul class="querybtn">'; //遍历 $.each(fuzzyQueryMap.data,function(key,value) { if(value.indexOf(pid)!=-1){ html += '<li><a href="javascript:void(0);" onclick="queryClick(\''+ key +'\');">' + value +'</a></li>'; } }); html += '</ul>'; html += '</div>'; $("#select").html(html); //下拉框 $(".querybtn").niceScroll({ cursorcolor:"#fff", cursoropacitymax:1, touchbehavior:false, cursorwidth:"5px", cursorborder:"0", cursorborderradius:"5px" }); $(".querybtn").css('display','block'); $("#box").val(pid); $("#box").selectRange(pid.length,pid.length); queryRedeemFund(); } //input点击下拉框后隐藏 function queryClick(sel){ $("#box").val(sel); queryRedeemFund(); $(".querybtn").css('display','none'); } //输入后定位光标将光标定位到文字后面 $.fn.selectRange = function(start, end) { return this.each(function() { if (this.setSelectionRange) { this.focus(); this.setSelectionRange(start, end); } else if (this.createTextRange) { var range = this.createTextRange(); range.collapse(true); range.moveEnd('character', end); range.moveStart('character', start); range.select(); } }); }; //将所有界面添加onclick事件 $(document).on('click',null,function(e){ var subSelect, eTarget = e.target; $(".querybtn").hide(); });
Html代码:
<table class="pro_tb" border="0" cellspacing="0" cellpadding="0"> <tr> <td><span class="s_ft2">持有产品筛选:</span></td> <td id=""> <div id="select"> <select style="width:150px;" ></select> </div> </td> </tr></table>
CSS代码:
<style>.querybtn{ position: absolute; border: 1px solid #e5e5e5; width: 170px; background: #fff; padding: 0px 18px 0px 2px; display: none; z-index: 100;}.querybtn a{ padding: 0px 10px 0px 10px; display:block; color:#6a7383; font-size:12px;}</style>
1 0
- 修改select标签为可输入内容的input标签,同时在首次点击第一个下拉框时也会触发onchange事件
- 可输入的select标签(input+select)
- input标签内容改变的触发事件
- input标签内容改变的触发事件
- input标签内容改变的触发事件
- input标签内容改变的触发事件
- input标签内容改变的触发事件
- input标签内容改变的触发事件
- select标签的onchange事件
- JQuery动态修改select标签的内容,并绑定onchange事件,弹出选择的值
- JQuery动态修改select标签的内容,并绑定onchange事件,弹出选择的值
- select标签onchange事件
- select 标签 onchange事件
- 为select标签绑定onchange事件
- JQuery 绑定select标签的onchange事件
- JQuery 绑定select标签的onchange事件
- JQuery 绑定select标签的onchange事件
- JQuery 绑定select标签的onchange事件
- error C2059: syntax error
- R语言readLines函数
- 使用strace,lstrace,truss来跟踪程序的运行过程
- WebStorm破解版安装教程
- 复习C语言———《C Prime Plus(第六版)》 第1章~第7章
- 修改select标签为可输入内容的input标签,同时在首次点击第一个下拉框时也会触发onchange事件
- JSONObject与JSONArray的使用
- Big Data(3): DGIM算法实现-2
- TypeScript的学习历程1
- android TV架构启动流程分析(二)
- 进程和线程的关系
- eclipse代码自动提示设置、如何配置eclipse的代码自动提示功能?
- ios程序 設置不黑屏 禁止黑屏
- Java中取整和四舍五入