`
vakin.jiang
  • 浏览: 147525 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Jquery简单实现可编辑下拉框功能

阅读更多

 第一版: 试图使用样式控制,在需要输入的时候把input输入框重叠在select控件之上。

IE下没有问题,结果ff下就杯具了,在firefox下selelct总是被放置最顶层。

<script>
$(document).ready(function(){
    $("select").click(function(){
        var thisId = $(this).attr('id');
        var inputId = thisId.replace('addresses','input');
        var spanId = thisId.replace('addresses','span');
        $("#"+inputId).css({width:"100px",height:"20px",visibility:"visible"});
        $("#"+spanId).css({position:"absolute",margin:"1px 1px 1px -6px"});
    });
</script>
 <input style="width:100px;height:20px;visibility:hidden;" id="input_LIR" onblur="this.value=this.value.toUpperCase();"> 
 <span id="span_LIR"> 
	<select id="addresses_LIR" style="margin-left:-102px;width:120px;" onchange= "document.all.input_LIR.value=this.value;">
		<option value="SZXTZCZ" selected>SZXTZCZ</option>
	</select>
</span>

 

第二版:通过事件或者按钮触发完成输入框和下拉框的切换

<style>
.div{width:180px; height:25px; float:left; clear:both; overflow:hidden;}
.input{width:100px;height:25px;display:none;}
.select{width:100px;height:25px;}
.editbtn{width:50px; height:25px;margin-bottom:0px;}</style>
<script>

var _edit = "Edit";
var _ok = "Ok";

$(document).ready(function(){
    //绑定页面按钮点击事件
    $("input[id^='btn_']").bind('click',function(){
       var thisval = $(this).val();
       var thisid = $(this).attr('id');
       var selectId = thisid.replace('btn','addresses');
       var inputId = thisid.replace('btn','input');
       
       if(thisval == _edit){
          $("#"+selectId).hide();
          $("#"+inputId).show();
          
           var selval = $("#"+selectId+" option:selected").val();
           selval = selval  ?selval : "";
           $("#"+inputId).val(selval);
          
           $(this).val(_ok);
       }else{
          $("#"+selectId).show();
          $("#"+inputId).hide();
          $(this).val(_edit);
          
          $("#"+selectId+" option:selected").remove();
          var inputval = $("#"+inputId).val();
          $("#"+selectId).append("<option value='"+ inputval +"' selected>"+ inputval +"</option>"); 
       }
       
    });
    
    //绑定所有输入框失去焦点事件
    $("input[id^='input_']").bind('blur',function(){
        var thisval = $(this).val();
        var thisid = $(this).attr('id');
		var selectId = thisid.replace('input','addresses');
        var selval = $("#"+selectId+" option:selected").val();
		if (selval == thisval || !new RegExp('^[a-zA-Z0-9]{7}$', '').test(thisval)) {
		    $("#"+selectId).show();
            $(this).hide();
            
            var btnId = thisid.replace('input','btn');
            $("#"+btnId).val(_edit);
		}else{
		    $(this).val(thisval.toUpperCase());
		}
    });   
});
</script>

<table width="100%" border="0" cellpadding="3" cellspacing="1">
<tr class="tr1">
	<td>Num </td>
	<td>Message ID</td>

	<td>Address</td>
	<td>Send</td>
	<td>Station Code</td>
</tr>
<tr>
	<td>1</td>
	<td>LDM</td>

	<td>
	    <div class="div">
	      <input class="input" id="input_LDM"> 
		  <select id="addresses_LDM" class="select">
		        <option value="CANUFCZ" selected>CANUFCZ</option>
		        <option value="NNGTZ8X">NNGTZ8X</option>
		        <option value="NNGTF8X">NNGTF8X</option>
		        <option value="BJSTDCA">BJSTDCA</option>
		  </select>
		  <input type="button" id="btn_LDM" class="button" value="Edit" class="editbtn"/>
		</div>
	</td>

	<td><input type="checkbox" name="selectMessageId" value="LDM"  /></td>
	<td><input type="text" disabled /></td>
</tr>
<tr>
	<td>2</td>
	<td>CPM</td>
	<td>
	    <div class="div">
	      <input class="input" id="input_CPM"> 
		  <select id="addresses_CPM" class="select">

		        <option value="NNGTZ8X" selected>NNGTZ8X</option>
		        <option value="NNGTF8X">NNGTF8X</option>
		        <option value="NNGTZCZ">NNGTZCZ</option>
		        <option value="NNGTZCA">NNGTZCA</option>
		  </select>
		  <input type="button" id="btn_CPM" class="button" value="Edit" class="editbtn"/>
		</div>

	</td>
	<td><input type="checkbox" name="selectMessageId" value="CPM"  /></td>
	<td><input type="text" disabled /></td>
</tr>
</table>
 

 

0
2
分享到:
评论

相关推荐

    combox实现的可编辑下拉框

    在网页设计和开发中,`ComboBox`(组合框或下拉...总之,通过JavaScript实现的可编辑下拉框结合了输入和选择的双重功能,为用户提供更灵活的交互方式。理解和掌握这一技术,对于提升网页应用的用户体验具有重要意义。

    Jquery可编辑下拉框控件

    "Jquery可编辑下拉框控件"是一种基于jQuery的组件,它提供了更丰富的用户交互体验,允许用户在下拉框中进行编辑,不仅可以选择已有选项,还能输入自定义内容。这样的控件对于数据录入或搜索场景特别有用,因为它结合...

    Asp.net中应用Jquery FlexBox实现可输入下拉框

    这是我在网上搜集的已经测试...实例实现了,Asp.net中应用Jquery FlexBox实现可输入,可选择的下拉框。而且可以自动从数据库中匹配数据,实现自能提示效果。 源码下载地址:http://bbs.wolefa.com/showtopic-134.html

    jquery可编辑的下拉框combox

    在本篇文章中,我们将探讨“jQuery可编辑的下拉框ComboBox”,这是一种结合了输入框和下拉列表功能的控件,为用户提供了更灵活的数据选择方式。相关说明可以在http://www.cnblogs.com/strick/p/3884721.html找到。 ...

    可编辑的下拉框 既可以编辑,又可以下拉选择

    可编辑的下拉框 既可以编辑,又可以下拉选择 很不错的

    Jquery实现下拉框多选

    总结,jQuery实现的多选下拉框通过插件如"ehynds-jquery-ui-multiselect-widget",为开发者提供了丰富的功能和高度可定制的样式,提高了网页交互的用户体验。正确地集成和配置这些插件,可以为你的项目增添亮点。

    可编辑下拉框.zip

    2. JavaScript源码文件:包含实现可编辑下拉框功能的逻辑代码。 3. HTML文件(可能是demo):展示如何在实际页面中使用这个组件,可能还包含了示例数据和交互效果。 对于想要学习或改进这个组件的开发者来说,深入...

    可编辑下拉框 可以自动匹配

    在IT领域,尤其是在前端开发中,"可编辑下拉框 可以自动匹配"是一种常见的交互元素设计,它结合了输入框与下拉选择框的功能,提供了用户友好的数据筛选和输入体验。这种控件通常被称为`edSelect`,正如标签所示。...

    JQuery可编辑表格、横向纵向菜单、标签页、级联下拉框、窗口

    首先,让我们谈谈jQuery可编辑表格。在网页上展示数据时,有时需要用户能够直接在表格中进行编辑。jQuery提供了各种插件,如DataTables或jqGrid,它们支持表格的动态编辑功能。这些插件允许你在单元格上添加编辑按钮...

    asp.net 可编辑下拉框

    实现可编辑下拉框的一种常见方法是使用组合控件(Combobox),如ASP.NET AJAX Control Toolkit中的ComboBox。ComboBox控件结合了TextBox和DropdownList的优点,当用户开始在文本框中输入时,会触发自动完成...

    【ASP.NET编程知识】ASP .NET 可编辑输入自动匹配的下拉框.docx

    本文将详细介绍 ASP.NET 可编辑输入自动匹配的下拉框的实现方法,该控件可以自动匹配用户输入的内容,并提供相关的下拉选项。本文将从三个方面介绍该控件的实现方法:首先,介绍如何在 ASP.NET 项目中添加 Telerik ...

    HTML可编辑下拉框_JS自动补全

    总之,HTML可编辑下拉框结合JavaScript自动补全功能是提高网站或应用交互性的一个有效手段。通过监听用户输入、过滤选项并动态显示匹配项,我们可以创建一个既直观又高效的输入体验。对于开发者来说,掌握这项技术有...

    asp.net可输入可选择下拉框

    总之,"asp.net可输入可选择下拉框"是一种增强用户体验的设计,它通过结合传统的下拉框和文本框功能,提高了数据输入的灵活性。理解和实现这种控件,不仅可以提升项目的用户界面质量,也是对ASP.NET开发技能的进一步...

    可编辑下拉框 支持常用浏览器

    标题中的“可编辑下拉框 支持常用浏览器”指的是在网页开发中,实现一个具有编辑功能的下拉框(Dropdown)控件,并且这个控件能在主流的浏览器上正常工作,如Chrome、Firefox、Safari和Edge等。在Web应用中,下拉框...

    基于ASP.NET实现的可编辑的下拉框控件程序例子

    在这个例子中,这个页面将展示我们的可编辑下拉框控件。`Web.Config`是ASP.NET应用程序的配置文件,它定义了应用的设置,如数据库连接字符串、身份验证模式和其他运行时配置。 `Default.aspx.cs`是C#源代码文件,它...

    可编辑的select下拉框

    `jQuery Editable Select`就是这样一个插件,它允许用户在下拉框中直接编辑输入,同时根据输入的内容实时过滤选项,提高了用户在大量数据中的查找效率。 `jQuery Editable Select`插件的工作原理是将标准的`...

    可编辑 下拉框

    在IT界,"可编辑下拉框"是一种常见的用户界面元素,它结合了传统下拉框和文本输入框的功能,允许用户既可以从中选择预设的选项,也可以自行输入新的值。这种控件在各种应用程序和网页设计中都有广泛应用,提高了用户...

    可编辑下拉框

    博客链接(已省略)可能提供了具体的实现代码,通过阅读这些源码,我们可以学习到更多关于如何在实际项目中应用可编辑下拉框的细节。例如,它可能会包含错误处理、兼容性检查、动画效果以及如何与其他界面元素进行...

    select下拉框可编辑输入框

    3. **CSS模拟**:通过CSS的`position`属性和`z-index`控制,将`&lt;select&gt;`和`&lt;input&gt;`重叠显示,通过JavaScript控制它们的显示和隐藏,模拟出可编辑下拉框的效果。 ### 关键技术点 在实现过程中,需要注意以下关键...

Global site tag (gtag.js) - Google Analytics