`
ice-cream
  • 浏览: 329442 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

动态过滤填充input框和用弹出层替换select框

CSS 
阅读更多

左图是用keydown事件写的动态过滤填充input框

$(document).ready(function(){
	$("input.click").click(function(){$("ul").hide();});
	$("input.click").keydown(function(index){
		position(this);
		$("ul").show();
		$("ul li").each(function(){
			hoverEvent(this);
			$(this).click(function(){
				$("input.click").val("");
				textLi = $(this).text();
				$("ul").hide();
				$("input.click").val(textLi);
			});
		});
	});
});

 

右图是用弹出层替换select框

$(document).ready(function(){
	$("div.click").click(function(index){
		position(this);
		$("ul li:first").addClass("active");
		$("ul li").each(function(){
			if($("div.click span.text").text() == $(this).text()){
				$("ul li").removeClass("active");
				$(this).addClass("active");
			}
			hoverEvent(this);
			$(this).click(function(){
				$("div.click span.text").text("");
				textLi = $(this).text();
				$("ul").hide();
				$("div.click span.text").text(textLi);
			});
		});
	});
});

 

通用的方法

//弹出框定位
function position(obj){
	var leftMargin = $(obj).offset().left;
	var topMargin = $(obj).offset().top;
	leftMarginPX = leftMargin + "px";
	topMarginPX = (topMargin + 25) + "px";
	$("ul").css({left:leftMarginPX,top:topMarginPX});
}

//鼠标hover高亮
function hoverEvent(obj){
	$(obj).hover(
		function(){
			$(obj).addClass("active");
		},
		function(){
			$(obj).removeClass("active");
		}
	);
}

//上下键切换行
var currentLine = -1;
$(document).keydown(function(e){
	if(e.keyCode == 38){
		currentLine--;
		changeItem();	
	}
	else if(e.keyCode == 40){
		currentLine++;
		changeItem();	
	}
});
function changeItem(){
	$("ul li").removeClass("active");
	var lengthNum = $("ul").children("li").length;
	if(currentLine < 0){
		currentLine = lengthNum - 1; 
	}
	if(currentLine == lengthNum){
		currentLine = 0; 
	}
	$("ul li:nth-child("+(currentLine+1)+")").addClass("active");
}  
 
  • 大小: 74.5 KB
分享到:
评论
2 楼 clampcatfish 2009-01-11  
很好很强大~~~ 收下了~~
1 楼 曾经地迷茫 2008-12-24  
好啊!! 

相关推荐

    jquery input文本框模拟select选择框获取选定

    总结来说,使用jQuery可以方便地将input文本框模拟成select选择框,实现与真实下拉框类似的功能。这主要通过动态操作DOM、添加事件监听器以及使用插件来完成。在实际项目中,根据具体需求选择合适的方法,并注重用户...

    jquery弹出层提示框,告别alert丑陋框

    本教程将围绕“`jQuery` 弹出层提示框,告别`alert`丑陋框”这一主题,详细介绍如何利用`jQuery` 和`div` 实现自定义的提示框。 首先,我们需要引入`jQuery`库。在HTML文件中添加以下代码来引入`jQuery`: ```html ...

    动态的填充列表框和组合框

    在编程领域,尤其是在GUI(图形用户界面)设计中,动态填充列表框(ListBox)和组合框(ComboBox)是一项常见的任务。这些控件是用户界面的重要组成部分,允许用户从预定义的选项中进行选择。理解如何动态地填充这些...

    js弹出层table运用

    弹出层通常是通过JavaScript动态创建的DOM元素,比如`&lt;div&gt;`,然后通过CSS设置其位置、透明度和可见性。在用户触发某个事件(如点击按钮)时,弹出层会显示出来;当不再需要时,它会被隐藏。弹出层可以包含各种内容...

    JavaScript弹出层

    Js弹出层库则是专门为此目的设计的JavaScript库,简化了弹出层的创建和管理过程。在这个场景中,我们关注的是名为"Dialog"的压缩包文件,很可能包含了一个对话框实现的库或者相关的代码示例。 弹出层通常分为几种...

    jquery点击输入框时弹出div层复选框勾选输入的内容

    本示例涉及的是一个基于jQuery实现的功能:当用户点击输入框时,会弹出一个包含复选框的div层,用户选择复选框后,所选复选框的值会自动填充到输入框内。这个功能对于创建交互式的用户界面非常有用,尤其适用于需要...

    jQGrid动态填充select下拉框的选项值(动态填充)

    在某些场景下,我们需要动态地填充select下拉框的选项值,以实现更灵活的数据输入。本篇文章将详细探讨如何在jQGrid中实现这一功能。 首先,理解`select`下拉框的基本概念。在HTML中,`&lt;select&gt;`元素用于创建一个...

    弹出登录框的JQuery弹出浮动层

    以上就是使用JQuery实现弹出登录框的浮动层的基本步骤。这个过程涉及到HTML、CSS和JavaScript的综合运用,通过这种方式,我们可以为用户提供更加友好和流畅的交互体验。实际应用中,还可以根据需求添加验证码、记住...

    借用jq框架写的js弹出层

    这可能用于获取服务器端的动态内容填充到弹出层。 7. **插件扩展**:jQuery的生态系统中有许多预构建的插件,用于增强功能,比如可能在这个项目中用到了一个简单的弹出层插件,或者开发者自定义了一个。 8. **响应...

    js透明弹出层

    2. **CSS样式**:透明度可以通过CSS的`opacity`属性控制,弹出层的定位可以使用`position`(如`absolute`或`fixed`)、`top`、`left`等属性。为了使弹出层具有透明效果,我们可以设置`background-color`为半透明颜色...

    jQuery封装的几款弹出层类,可直接使用

    总的来说,理解和熟练使用这些弹出层类将有助于提升你在网页开发中的专业技能,使你的页面变得更加动态和用户友好。在实际项目中,你还可以根据具体需求扩展这些类,添加更多的功能和自定义选项,以满足各种复杂的...

    jquery+css3实现的经典弹出层效果示例

    本示例主要探讨如何利用jQuery和CSS3技术来实现灵活且具有动画效果的弹出层。下面将详细阐述实现这个功能的关键知识点。 首先,jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理和Ajax交互等任务。...

    jQuery手机端点击弹出层选取时间代码

    7. **优化移动端体验**:为了适应手机屏幕,确保弹出层和时间选择器的布局是响应式的,可能需要使用媒体查询(`media queries`)和`jQuery`的`.resize()`方法来调整大小和位置。 以上就是一个基本的jQuery手机端点击...

    弹出层 各种文本框

    它提供了方便的方式来创建具有不同特性的弹出层,例如,预览功能可能允许开发者在实际应用之前查看和测试弹出层的设计和行为。 在弹出层中,"各种文本框"是用户输入数据的常见工具。文本框可以分为多种类型,包括:...

    jquery 弹出层跟随鼠标移动

    为了让用户体验更佳,可以添加一些延迟效果,例如使用 `setTimeout` 延迟弹出层的显示,或使用 jQuery 的动画方法(如 `.fadeIn()`, `.slideDown()`)来平滑地展示和隐藏弹出层。 6. **防止多次触发**: 为了避免...

    jquery弹出层登陆框(效果强大通用)特效代码

    《jQuery弹出层登录框:实现高效通用的交互体验》 在网页设计中,弹出层作为一种常见的交互元素,能够提供非侵入式的用户界面,提高用户体验。jQuery库以其丰富的功能和简洁的API,成为了实现弹出层效果的首选工具...

    jquery弹出层大集合

    5. **自定义样式和内容**:通过CSS调整弹出层的样式,如大小、位置、背景色等,同时可以动态填充内容,如错误信息、提示文字等。 效率是衡量弹出层好坏的重要标准之一。jQuery弹出层通过优化的JavaScript代码和CSS3...

    网页弹出层提示登录或注册窗口实例

    网页开发中,弹出层和弹出窗口是常见的交互设计元素,它们用于向用户显示临时信息、提示用户进行操作,如登录或注册。本实例主要关注如何实现这样的功能,为用户提供简洁而有效的登录和注册体验。 弹出层,通常称为...

    jQuery点击图片弹出层显示文字

    在页面中,我们需要包含图片元素和用于弹出层的隐藏元素。例如: ```html 描述文字"&gt; &lt;p id="modalText"&gt;&lt;/p&gt; ``` 这里的`#myImage`是我们的图片元素,而`#modal`是弹出层,它的初始状态被设置为隐藏(通过CSS...

Global site tag (gtag.js) - Google Analytics