这里提到select,其实不是select,而是用<li><input>标签去仿造一个select,以实现对已有“option”的快速检索功能。
以<input>标签代替select的选择框,以<li>标签代替option标签。每个li标签附onclick触发js带参数的选取事件,所带参数即为option的value.<li>内附带显示text用的input标签,和隐藏的text的拼音input标签。思路就是这些。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>qqqun.21.777.12</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<style type="text/css">
/*拼音检索功能全部css*/
#divselect{ margin:0;
position:relative;
z-index:10000;
background: #fff;
text-aling:left;}
#divselect ul{margin:0; padding:0}
#divselect ul li{margin:0;
height:22px;
line-height:22px;
border-bottom:1px solid grey;
border-left:1px solid grey;
border-right:1px solid grey;
padding-left:5px;
display: none;
cursor: pointer;
width: 300px;}
#divselect ul li input{cursor: pointer;}
#divselect input{height:22px;
line-height:22px;
padding:0px;}
</style>
<script>
///拼音检索下拉列表的全部函数,开头必须引用jquery
function showSoSo(){//显示搜索栏
$('#soso').show();
document.getElementById('soso').focus();
$('#xbutton').show();
}
function hideSoSo(){//隐藏搜索栏
$('#soso').hide();
$('#xbutton').hide();
$('#selectUl > li').hide();
}
function inputValue(value,text){//选中option
$('#formName').attr('value',value);
$('#seetext').attr('value',text);
$('#sosoName').attr('value',text);
$('#soso').attr('value',text);
hideSoSo();
}
function soIt(){//搜索option列表
var so = $("#soso").val();
if(so.length>0){
var kehuhz = document.getElementsByName('hzIndexs');
var kehupy = document.getElementsByName('pyIndexs');
var lis = document.getElementById('selectUl').getElementsByTagName('li');
for(var c=0;c<kehuhz.length;c++){
if(kehuhz[c].value.indexOf(so)>-1||kehupy[c].value.indexOf(so)>-1){
lis[c].style.display='block';
}else{
lis[c].style.display='none';
}
}
}
}
</script>
</head>
<body>
<div id='divselect'>
<input type="text" id='seetext' style="width: 300px;" readonly="readonly" onclick="showSoSo()"/>
<input id='soso' type="text" style="width: 300px;margin-left:-306px;display: none;" onkeyup="soIt()"/>
<input type="button" id='xbutton' value="x" class='button3' style="display: none;" onclick='hideSoSo()'>
<ul id="selectUl">
<li onclick="inputValue(1,'选项一')">
<input name='hzIndexs' value='选项一' type="text" style="width:100%;border: 0px;" readonly="readonly"/>
<input name='pyIndexs' value='xuanxiangyi' type="hidden" readonly="readonly"/>
</li>
<li onclick="inputValue(2,'选项二')">
<input name='hzIndexs' value='选项二' type="text" style="width:100%;border: 0px;" readonly="readonly"/>
<input name='pyIndexs' value='xuanxianger' type="hidden" readonly="readonly"/>
</li>
<li onclick="inputValue(3,'北京大学')">
<input name='hzIndexs' value='北京大学' type="text" style="width:100%;border: 0px;" readonly="readonly"/>
<input name='pyIndexs' value='beijingdaxue' type="hidden" readonly="readonly"/>
</li>
<li onclick="inputValue(4,'清华大学')">
<input name='hzIndexs' value='清华大学' type="text" style="width:100%;border: 0px;" readonly="readonly"/>
<input name='pyIndexs' value='qinghuadaxue' type="hidden" readonly="readonly"/>
</li>
</ul>
</div>
<!--实际提交表单时用的隐藏域 测试时可写成type=text显示以供测试-->
<input type="hidden" name='formName' id='formName' readonly="readonly"/>
</body>
</html>
至于拼音的生成肯定不是手打的,一般option列表都是后台传过来的list用jstl标签去迭代,后台可以用pinyin4j.jar包去生成拼音
分享到:
相关推荐
本教程将详细讲解如何使用 `jQuery` 实现一个具有模糊搜索功能的下拉选择框,以提升用户在交互时的体验。 首先,我们需要了解 `select` 元素在HTML中的基本用法。`<select>` 标签用于创建一个下拉列表,用户可以...
jQuery div仿select下拉选项菜单美化获取html jQuery div仿select下拉选项菜单美化获取html jQuery div仿select下拉选项菜单美化获取html jQuery div仿select下拉选项菜单美化获取html
本项目“jquery仿百度下拉列表搜索框”旨在利用jQuery的功能,模仿百度搜索引擎的智能下拉列表功能,提供用户友好的模糊查询体验。 首先,我们要了解jQuery的核心概念。jQuery通过一种简化的语法,使开发者可以更...
2. `jquery.searchableSelect.js`:这是插件的JavaScript文件,包含了实现搜索功能的代码。 3. `jquery.searchableSelect.css`:这是一个CSS文件,用于定义插件的样式,确保其在页面上正确显示。 接下来,让我们看...
总的来说,利用jQuery实现搜索列表过滤是一种高效的方法,它结合了jQuery的便捷性与JavaScript的动态特性,为用户提供了即时反馈和良好的交互体验。在实际项目中,还可以根据需求进一步扩展,比如添加模糊搜索、异步...
综上所述,jQuery实现的select互斥联动是一种常见的前端交互设计,通过监听和处理事件,动态调整下拉列表的选项,以满足不同场景下的用户需求。在理解基本原理后,可以根据具体项目需求进行扩展和优化。
本资源"jquery实现的select列表选择框选中美化效果源码.zip"提供了一种方法,利用jQuery来美化传统的HTML `<select>`元素,提升用户体验。 在Web开发中,原始的`<select>`元素往往样式单一,不符合现代网页的视觉...
2. 自定义Select2的`templateResult`和`templateSelection`,实现拼音搜索逻辑。 3. 覆盖默认搜索,根据拼音匹配度排序。 4. 更新Select2配置,禁用Ajax加载。 通过这种方法,用户可以在不依赖服务器请求的情况下,...
总的来说,`jQuery手机下拉框select` 是通过jQuery Mobile库实现的一种优化移动端用户体验的解决方案。它提供了丰富的样式、交互和功能特性,帮助开发者创建出更符合移动设备需求的下拉菜单。通过理解和应用这些技术...
jquery下拉搜索 select2实现下拉搜索
**jQuery插件-多选全选实时搜索下拉框** 在前端开发中,用户界面的交互性和用户体验至关重要。jQuery作为一款强大的JavaScript库,为开发者提供了许多便利,使得创建动态、响应式的网页变得更加容易。"jQuery插件-...
好看的select下拉框(带搜索功能),由于默认select样式过丑而且有些东西还不好改,这个是利用input框和ul来实现一个下拉框的效果。分为不带搜索功能和带搜索功能两个部分。以及jquery与javascript两种实现
jQuery下拉条select插件,拼音筛选,智能向上向下展开。 带查找输入框。 基于select2 Version: 3.3.2编写,增加汉语拼音筛选支持。 解压后可直接用浏览器打开看演示。 支持下列浏览器: * IE 8+ * Chrome 8+ * ...
* 模拟select * @param {box,tiggle} * @param box 父级别容器[模拟select最外围标签] * @param tiggle 展开事件 [*click | mouseover | 其他dom事件] * @return object 返回对象本身 * @disription 节点(html)内部...
8. **多选支持**:对于支持多选的仿Select下拉,可以使用`<input type="checkbox">`元素,配合CSS和jQuery实现多选功能。 9. **兼容性和优化**:确保仿Select下拉在不同的浏览器和设备上表现一致是重要的。需要考虑...
其中,"jQuery combo-select"是一种常见的交互元素,它将传统的下拉选择器(select)与输入框(input)相结合,形成一种增强型的组合选择器,既提供了搜索功能,又允许用户自定义输入,极大地提升了用户体验。...
基于Bootstrap和JQuery实现仿PC文件管理源码.zip基于Bootstrap和JQuery实现仿PC文件管理源码.zip基于Bootstrap和JQuery实现仿PC文件管理源码.zip基于Bootstrap和JQuery实现仿PC文件管理源码.zip基于Bootstrap和...
首先,jQuery-ComboSelect的核心功能是将传统的单选或单行的下拉列表转换为一个可多选、具有搜索功能的下拉框。用户可以通过输入关键词快速筛选出所需选项,提高了数据查找和选择的效率。这对于那些包含大量选项的...
本示例“jquery搜索框下拉列表选择搜索分类效果”旨在实现一个交互式的搜索功能,其中用户可以通过下拉列表来选择特定的搜索分类,从而提高用户体验并提供更精确的搜索结果。 在C#编程环境中,虽然jQuery主要用于...