jquery实现可编辑的下拉框( input + select )

HTML:

  <input id="inputModel" />
  <select name="EngineModel" size="10" style="height: auto; margin-left: 120px; position: absolute; display: none;"></select>

Jquery:

 //获取select
  var engine = $(‘select[name="EngineModel"]‘);
//页面加载,初始赋值select选项
for (var i in engines) {
            engine.append(‘<option>‘ + engines[i] + ‘</option>‘);
        }

//绑定值至select(可用于修改)
 if (‘<%=order.EngineModel%>‘) {
            engine.val(‘<%=order.EngineModel%>‘);
        }

//select的change事件,选中的值赋给input
$(‘input[name="EngineModel"]‘).change(function() {
document.getElementById(‘inputModel‘).value = document.getElementById(‘SelectModel‘).options[document.getElementById(‘SelectModel‘).selectedIndex].value;
        })

//可编辑select具体实现
 var focus = false;
        $("#inputModel").focus(function () {
            focus = true;
            $(this).next().css(‘display‘, ‘block‘);
        }).blur(function () {
            if (focus) {
                $(this).next().css(‘display‘, ‘none‘);
            }
        }).keyup(function () {
            var queryCondition = $("#inputModel").val().toLowerCase();
            if (queryCondition.length != 0) {
                engine.empty();
                for (var i in engines) {
                    if (engines[i].toLowerCase().indexOf(queryCondition) != -1) {
                        engine.append(‘<option>‘ + engines[i] + ‘</option>‘);
                    }
                }
            } else {
                for (var i in engines) {
                    engine.append(‘<option>‘ + engines[i] + ‘</option>‘);
                }
            }
        }).next().mousedown(function () {
            focus = false;
        }).change(function () {
            $(this).css(‘display‘, ‘none‘).prev().val(this.value);
        });
时间: 2024-11-13 05:48:42

jquery实现可编辑的下拉框( input + select )的相关文章

Jquery+json绑定带层次下拉框(select控件)

一.实现的效果图 二.主要代码 html代码 <select id="pid" runat="server"> <option value="0" data="|0|">不选父级类</option> </select> Jquery代码 var html = ['<option value="0">不选父级模块</option>'];

自制jquery可编辑的下拉框

昨天看到QQ登录的时候,可以选择以前登录过的账户,这个东西也可以在网站登录的时候用到,所以我就想做一个这样的插件:在网上查了很多,没有找到合适自己的,所以决定自动制作一个. 原理就是一个textbox加一个ul模拟下拉框,用font模拟一个下拉按钮. 一.制作静态效果 先用css和html,做出一个应该有的样子.这里这两个我使用的是字体,可以在icomoon网站上面自己制作.用字体的好处是和输入框定位很方便,而且还可以控制大小颜色等,唯一的不足是IE6和IE7由于不支持:before选择器,导致

Asp.net绑定带层次下拉框(select控件)

1.效果图 2.数据库中表数据结构 3.前台页面 <select id="pid" runat="server"> <option value="0" data="|0|">不选父级类</option> </select> 备注:查看源代码 4.后台代码 using System; using System.Data; using System.Web.UI.WebControl

jquery模拟可输入的下拉框

//页面html <div id="select" class="select" > <ul> <c:forEach items="${movieCityList}" var="cy" varStatus="st"> <li> <a href="javascript:void(0)" onclick="selectOptio

自己编写jQuery插件 之 无限级联下拉框

因为是级联,所以数据必须是树型结构的,我这里的测试数据如下: 看下效果图: 1.>图一: 2.>图二: 3.>图三: 由图可知,下拉框的个数并不是写死的,而是动态加载的.每当下拉框选择改变的时候,会发送一次ajax请求,请求成功返回json格式数据,当返回的数据不为空时(即有子节点时),则会向页面中添加一个下拉框,没有则不添加. 插件的实现代码如下: (function ($) { $.fn.CascadingSelect = function (options) { //默认参数设置

jquery的隐藏和显示——下拉框式

下拉框定义value值 后面写上onchange方法(onchange 事件会在域的内容改变时发生) 然后定义方法, 然后两个span解决.

多选下拉框(select 下拉多选)

方法一:使用multiple-select.js和multiple-select .css实现 HTML代码: <select id='checkedLevel' style="width:120px;height:28px;" multiple="multiple"> <option value="1">选项1</option> <option value="2">选项1<

11 Python+selenium对下拉框(select)进行处理

[环境信息] Python3.4+IE+windows2008 [Select下拉框处理] 1.对于如图1的下拉框,可以用selenium自带的Select类进行选择. 2.定位示例: from selenium.webdriver.support.select import Select # 责任部门 Select(self.driver.find_element_by_id('linkDutyDept')).select_by_visible_text('市场经营部门') 3.说明 Sele

ajax实现下拉框(&lt;select&gt;)

许多页面上都涉及有下拉框,即select标签.对于简单的下拉框,被选择的数据是不需要改变的,我们可以用<option></option>写死.这样下拉框的数据永远都是那几条. 示例: 1 <select> 2 <option>信息一</option> 3 <option>信息二</option> 4 <option>信息三</option> 5 <option>信息四</optio