`

可搜索输入下拉框实现

阅读更多
<%@ page contentType="text/html; charset=gb2312"%>
<HTML>
	<HEAD>
		<TITLE>可搜索输入下拉框实现</TITLE>
	</HEAD>
	<Script Language="JavaScript">
		<!--
		   var whichText;
		   function selectStation(obj) {
		   	   var objSelStation = obj;
		       if (obj.selectedIndex != -1) {
		           var stationName = obj.options[obj.selectedIndex].text;
		           whichText.value = stationName;
		       }
		       var stobj= document.getElementsByName('hospitalCode')[0];
		       //鼠标单击某一选项选定后关闭下拉框
		       showDivStation(this, false,'hospitalCode')
		    }
		
			//响应text的事件
		   	var pageD =0, pageU;
		   	function similarFind(txtObj,seledName) {
		        var curStationName = txtObj.value;
		        var objSelStation = document.getElementsByName(seledName)[0];
		        var stationLength = objSelStation.options.length;
		        var flag = true;
		   		pageU = pageD;
		        //从起始的文字匹配 用text中的数据跟下拉框中的数据
		        for (var i=0; i<stationLength; i++) {
		            var stationName = objSelStation.options[i].text;
		            var re = new RegExp("^" + curStationName);
		       		if (stationName.match(re)) {
		                if (i<stationLength - 10) {
		                    objSelStation.selectedIndex = i + 10;
		                }
		                objSelStation.selectedIndex = i;
		       			pageD = i;
		       			pageU = i;
		       			flag = false;
		                break;
		            }
		        }
		        ////从文字中匹配 用text中的数据跟下拉框中的数据
		        if(flag) {
		        	for (var i=0; i<stationLength; i++) {
			            var stationName = objSelStation.options[i].text;
			            var re2 = new RegExp("^.*" + curStationName+'.*$');
			       		if (stationName.match(re2)) {
			                if (i<stationLength - 10) {
			                    objSelStation.selectedIndex = i + 10;
			                }
			                objSelStation.selectedIndex = i;
			       			pageD = i;
			       			pageU = i;
			                break;
			            }
		        	}
		        }
				//响应下移键
			   	if(event.keyCode==40) {
			     	pageD++;
			     	if(pageD==objSelStation.options.length) pageD=0;
			     	txtObj.value=objSelStation.options[pageD].text ;
			     	objSelStation.selectedIndex = pageD;
			   	}
				//响应上移键
			   	if(event.keyCode==38) {
			     	--pageU;
			     	if(pageU<0) pageU=objSelStation.options.length-1;
			     	txtObj.value = objSelStation.options[pageU].text;
			     	objSelStation.selectedIndex = pageU;
			    }
			}
			//下拉框显示位置
		    function showDivStation(obj, b,selName) {
		        var divStation = document.getElementsByName(selName)[0]
		        if (b) {
		           whichText = obj;
		           divStation.style.display="block";
		           similarFind(obj,selName);
		        } else {
		           divStation.style.display="none";
		        }
		    }
		    
		    function removeNull(node) {
		    	if(node.value=='--未选择--') 
		    	node.value = '';
		    }
		//-->
	</Script>
	<BODY bgcolor="#FFFFFF" topmargin="0" leftmargin="0">
		<form name="caseLhBaseForm">
			<table>
				<tr>
					<td valign="top">医院</TD>
					<td>
						<input type="text" name="hospitalCodeName" 
							style="width: 330px"
							onfocus="showDivStation(this, true,'hospitalCode')" 
							onclick="removeNull(this)"
							onkeyup="similarFind(this,'hospitalCode')" 
							value="--未选择--">
						<select size="6" name="hospitalCode"
							style="display: none; width: 330px;"
							onclick="selectStation(this)">
							<option value="">--未选择--</option>
							<option value="340403007">北京上地医院</option>
							<option value="340402006">北京回龙观医院</option>
							<option value="340401005">北京中关村医院</option>
							<option value="340401005">上地第二医院</option>
							<option value="340403007">回龙观第二医院</option>
							<option value="340402006">朝阳医院</option>
							<option value="340401005">海淀医院</option>
							<option value="340401005">东城区医院</option>
						</select>
					</td>
				</tr>
			</table>
		</form>
	</BODY>
</HTML>

分享到:
评论

相关推荐

    js 可输入下拉框(jquery)

    在JavaScript和jQuery的世界里,"js 可输入下拉框(jquery)"是一个常见的交互设计需求,它结合了传统下拉框的简洁性与输入框的搜索功能,为用户提供更友好的交互体验。这种组件通常被称为“Autocomplete”或...

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

    开发者可以通过查看和学习这些文件,了解具体的实现细节和技巧,以便在自己的项目中应用或改进这种可输入可选择的下拉框控件。 总之,"asp.net可输入可选择下拉框"是一种增强用户体验的设计,它通过结合传统的...

    可输入的下拉框

    "可输入的下拉框"是一种常见的交互元素,它结合了传统下拉菜单与搜索输入框的功能,使得用户在选择选项时可以更加高效和精确。这种设计常见于网页和应用程序中,用于提供多样化的选择并允许用户通过输入关键词快速...

    可输入下拉框(select)源代码

    可输入下拉框广泛应用于地址搜索、商品搜索、推荐系统等场景,如Google搜索栏、电商网站的搜索框等。 总的来说,"可输入下拉框"是Web开发中一种实用的交互元素,通过结合HTML、CSS和JavaScript,可以创建出高效、...

    这是一个可输入下拉框组件

    开发者可能会利用库或框架,如React、Vue或Angular,它们提供了丰富的组件库,包括可输入下拉框的实现。这些框架允许开发者通过简单的配置和API调用来实现复杂的功能,比如事件监听、数据绑定和动态过滤。 在实际...

    jquery实现百度搜索关键字输入下拉框提示

    本项目"jquery实现百度搜索关键字输入下拉框提示"是利用 jQuery 实现类似百度搜索框的功能,即用户在输入框中输入关键词时,能实时显示与关键词相关的下拉提示,提高用户的搜索体验。 首先,`index.html` 是网页的...

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

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

    可输入的下拉框(autoComplete)

    标题中的“可输入的下拉框(autoComplete)”指的是自动完成或自动填充功能,它在用户界面设计中被广泛使用,特别是在Web表单和移动应用中。这种功能结合了文本输入框和下拉列表,当用户在输入框中键入文字时,系统...

    搜索功能select下拉框实现自动匹配

    带搜索功能的select下拉框,类似百度google的搜索框,自己匹配,很好用

    可文本输入的下拉框select

    实现“可文本输入的下拉框”有多种方法。一种常见的方法是创建一个组合控件,包含一个输入框和一个下拉列表。当用户开始在输入框中输入时,下拉列表会动态过滤出匹配的选项。用户可以选择列表中的一个项,或者继续...

    可手写输入的下拉框,代码少,简单

    针对这一情况,"可手写输入的下拉框"提供了一种创新解决方案,允许用户通过手写方式进行输入,增强了交互性和可用性。 这个可手写输入的下拉框设计简洁,代码量小,易于集成到项目中。开发者可以快速实现这一功能,...

    可输入的下拉框.rar

    4. Vue.js、React等前端框架:它们提供了组件化开发方式,也有对应的可输入下拉框组件。 五、代码示例 以下是一个使用纯JavaScript实现的简单例子: ```html &lt;option value="option1"&gt;Option 1 ...

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

    可编辑的下拉框控件允许用户不仅能够从预定义的选项列表中选择,还能直接输入文本,这为用户提供了更大的灵活性。在ASP.NET中,默认的DropDownList控件并不具备直接编辑的功能,但通过一些定制的代码和JavaScript...

    自动匹配可输入的下拉框

    3. **React实现**:React使用组件化思想,可以自定义一个可输入下拉框组件。通过状态管理和事件处理函数,实现输入框和下拉列表的联动。`react-select`是一个广泛使用的React库,提供了丰富的定制选项和性能优化。 ...

    可输入下拉框可输入下拉框

    实现可输入下拉框的常见方法有以下几种: 1. **HTML `&lt;select&gt;` 元素与 `&lt;input&gt;` 结合**:通过将一个隐藏的输入框与下拉列表并排放置,利用JavaScript监听事件来同步两者状态。 2. **HTML5 `&lt;datalist&gt;` 元素**:这...

    可输入的下拉框 可以用来做模糊查询

    可输入的下拉框 可以用来做模糊查询 可输入的下拉框 可以用来做模糊查询

    可输入下拉框的源码以及demo (2008)

    百度和Google的搜索框都包含了可输入下拉框,能够根据用户的输入提供即时的搜索建议,大大提升了搜索效率。 在"压缩包子文件的文件名称列表"中,我们看到有两个文件:drpControl1和WebApplication1。drpControl1...

    php可输入下拉框控件

    本文将详细探讨"php可输入下拉框控件"这一主题,结合其描述和标签,我们将深入理解如何在PHP环境中实现一个既可输入文字又可下拉选择的组件。 一、下拉框(Dropdown)基础 下拉框是HTML表单中常见的元素,通常使用`...

    支持手动输入的下拉框

    总之,支持手动输入的下拉框是提高用户体验的重要工具,开发者需要关注其功能实现、性能优化、无障碍性和响应式设计等方面,以提供高效且友好的用户界面。不同的开发技术和库提供了多种实现方法,选择合适的方式取决...

Global site tag (gtag.js) - Google Analytics