传统的下拉框控件显示效果单一,对于一些复杂的效果(比如树形菜单、树形列表、分页列表、分组列表等等)就无能为力了。为了让下拉框支持这些复杂的显示效果,唯一的办法就是创建自己的下拉框控件。
下面介绍一个用jQuery实现的自定义下拉框控件,本控件在IE6下测试通过。
1、控件的html代码:
<div style="padding:2 2 2 2;">
<input type="hidden" id="userId" name="userId"><input type="text" id="userId_text" name="userId_text" class="ui_combobox_input" readonly><span class="ui_combobox_down"></span>
<div id="ContentContainer">
<iframe src='about:blank' frameBorder='0' width='100%' height='100%' scrolling='no'></iframe>
<table border="1" width="100%" style="position:absolute; left:0px; top:0px;border-collapse:collapse;border-style:solid;">
<tr><td>11111</td></tr>
<tr><td>22222</td></tr>
<tr><td>33333</td></tr>
<tr><td>44444</td></tr>
<tr><td>55555</td></tr>
</table>
</div>
</div>
2、控件的js代码:
jQuery(function(){
//鼠标移入、移出自定义下拉框箭头图标时触发的事件
jQuery(".ui_combobox_down").hover(
function(){
jQuery(this).addClass("ui_combobox_select");
},
function(){
jQuery(this).removeClass("ui_combobox_select");
}
);
//单击自定义下拉框时触发的事件
jQuery(".ui_combobox_down").bind("click", function(){
var source = jQuery(this);
var parent = jQuery(this).parent();
var offset = parent.offset();
var h = parseInt(source.css("height"));
var paddingLeft = parseInt(parent.css("padding-left"));
var panel = jQuery(parent).find("#ContentContainer");
panel.css("left", offset.left + paddingLeft);
panel.css("top", h+offset.top+1);
panel.css("width", 200);
panel.slideDown("fast");
panel.fadeIn("normal");
});
//单击document时,隐藏自定义下拉框的下来列表
jQuery().bind("click", function(e){
var tagName = e.srcElement.tagName.toLowerCase();
if(tagName == "body"){
jQuery("#ContentContainer").slideUp("fast");
jQuery("#ContentContainer").fadeOut("normal");
jQuery("#ContentContainer").hide();
}
});
});
3、控件的css样式:
.ui_combobox_input{
border-width: 1 0 1 1;
border-style: solid;
width: 180;
height: 20;
}
.ui_combobox_down{
border-width: 1 1 1 0;
border-style: solid;
width: 20;
height: 20;
cursor: hand;
background-image: url("btn-arrow.gif");
background-repeat: no-repeat;
background-position: 3 2;
background-color: #B9DCFF;
}
.ui_combobox_select{
background-position: 3 -48;
background-color: #D7EBFF;
}
#ContentContainer{
border-width: 1 1 1 1;
border-style: solid;
position: absolute;
display: none;
z-index: 9;
}
分享到:
相关推荐
"Jquery可编辑下拉框控件"是一种基于jQuery的组件,它提供了更丰富的用户交互体验,允许用户在下拉框中进行编辑,不仅可以选择已有选项,还能输入自定义内容。这样的控件对于数据录入或搜索场景特别有用,因为它结合...
控件中含有隐藏的SELECT表单控件,ID及NAME都可自定义,这样可使COMBO控件放在一个普通的表单内,用户用一般的提交方式, 也可把选中的值准确地传到后台 经测试,兼容IE6--IE8,Firefox,chrome浏览器,在非IE浏览...
**jQuery ImageSelect 图片下拉框控件详解** 在网页设计中,为了提供更好的用户体验,开发者经常需要将传统的文本选择框替换为更加直观且具有视觉吸引力的组件。jQuery ImageSelect控件就是这样一种实用的工具,它...
总结来说,jQuery的DropDownList.js插件是一款强大的下拉框解决方案,通过克隆原生`<select>`控件或使用JSON数据,可以轻松创建出符合项目需求的自定义下拉框。它不仅提供了丰富的定制选项,还具有良好的兼容性和...
本主题关注的是如何使用jQuery创建一个功能强大的下拉框搜索控件,该控件能够实现类似Google的搜索体验。下面将详细介绍这个功能的实现原理和关键知识点。 首先,"jquery 下拉框搜索控件"是一种交互式的输入元素,...
本文将深入探讨如何创建一个自定义的多选下拉框控件,以提升用户体验,并利用Ajax技术实现异步更新,提高页面的响应速度。 一、多选下拉框控件的理解 多选下拉框控件是一种允许用户从一系列选项中选择多个值的UI...
总之,"jQuery实现select下拉框菜单选中插件.zip"是一个旨在提升`<select>`元素用户体验的工具。通过深入理解jQuery的API、CSS样式和可能的事件处理,你可以有效地利用这个插件,为你的网页项目添加专业且个性化的...
在这个"基于ASP.NET实现的可编辑的下拉框控件程序例子"中,我们将探讨如何利用ASP.NET的特性和功能来创建一个交互式、用户可编辑的下拉选择列表。 首先,`Default.aspx`是ASP.NET中的默认页面文件,它包含了网页的...
其中,自定义下拉框组件(Combo)是JQuery Easyui库中的一个常用控件。本文将详细介绍如何使用JQuery Easyui的自定义下拉框组件。 首先,下拉框组件不能通过普通的HTML标签直接创建,而是通过JavaScript调用方式...
根据查询字段不同,查询条件值的动态改变,如日期控件、下拉框、可输入的文本框。参考使用的童鞋可以再优化下,使之更人性化。 呵呵。折腾一天弄出来的,个人觉得很实用,不足之处,很自行修改。 童鞋们大力给分啊...
本教程将深入探讨如何使用jQuery实现美化下拉框的效果,以及相关的文件结构。 ### 1. jQuery简介 jQuery是一个快速、简洁的JavaScript库,它简化了HTML文档遍历、事件处理、动画和Ajax交互。通过jQuery,开发者...
总结起来,这个压缩包提供的前端多选下拉框控件是一个结合了JavaScript、jQuery和HTML的解决方案,通过CSS实现自定义样式,且附带了使用说明。开发者可以利用这些资源创建功能丰富、用户体验良好的多选下拉菜单,...
jQuery可筛选下拉框美化插件就是这样的一个工具,它能够帮助开发者快速、方便地实现下拉框的美化,并且增加筛选功能,提高用户交互性。该插件基于JavaScript库jQuery,结合CSS和HTML5技术,为传统的HTML选择器提供了...
本项目通过`jq`(jQuery)库实现了对`select`控件的模仿,创建了一款既美观又实用的下拉框控件。下面将详细讲解这个知识点。 1. **jQuery (jq) 库的使用** jQuery 是一个轻量级的JavaScript库,它简化了HTML文档...
这个控件是基于流行的JavaScript库JQuery构建的,因此能够充分利用其强大的DOM操作和事件处理能力,实现流畅的用户体验。 一、JQuery基础 JQuery是一个轻量级、高性能的JavaScript库,它的主要功能包括DOM操作、...
本篇文章将围绕标题“用jQuery实现下拉框美化”展开,详细介绍如何使用jQuery 1.3版本以及相关插件来改进下拉框的外观和交互效果。 首先,`jQuery 1.3`是一个成熟的版本,它具有良好的浏览器兼容性和高效的DOM操作...
在自定义下拉框时,我们可以利用jQuery来实现以下功能: 1. **动态加载**:根据需求动态加载下拉框的选项,例如通过Ajax请求获取数据。 2. **事件监听**:添加点击、展开/收起等事件监听,实现更丰富的交互体验。 3...
本文将详细探讨"php可输入下拉框控件"这一主题,结合其描述和标签,我们将深入理解如何在PHP环境中实现一个既可输入文字又可下拉选择的组件。 一、下拉框(Dropdown)基础 下拉框是HTML表单中常见的元素,通常使用`...
"jQuery模拟select下拉框插件"就是这样一个工具,它提供了更丰富的交互性和定制性,相比原生的HTML下拉框控件,能够为用户带来更好的体验。下面将详细探讨这个插件的原理、功能以及如何使用。 首先,原生的`...