1.原理
不多讲了:div 显示+input 及显示项与js 数据对像的使用
2.代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script type="text/javascript" src="${pageContext.request.contextPath}/jquery.min.js"></script> <style type="text/css"> .item { margin:0px; padding:3px; } .item:hover,.item_selected{ background-color:#ff00ff; } </style> <script type="text/javascript"> /** * * 组件值对象 * Combobox值对名胜 * formObjId hidden 用户表单提交值对象ID * value <option value="">所选择对象的值 * text <option>text</option> 所选择对象显示内容 * itemId 所选项目id * */ function ComboxVoObj(formObjId,value,text,itemId) { this.formObjId = formObjId; this.value = value; this.text = text; this.itemId = itemId; } var combobox_zk = "combobox_zk"; var clazzCombox = "select_combobox"; /** * 初始化数据 */ function comboboxInitData() { //解析页面中存在的数据select 数据 $("." + combobox_zk).each(function(){ //隐式存值input 对象Id var hidId = $(this).attr("name") + "_hidden"; //加载页面初始数据并存入Combobox容器中 var index = 0; $(this).find("option").each(function(){ var comboxVoObj = new ComboxVoObj(hidId,$(this).val(),$(this).text(),"combox_item_" + (index + 1)); comboboxStore[index++] = comboxVoObj; }); }); //显示对应的combobox[区域] var select_combox = $("#" + clazzCombox + "_show_items"); //清空显示区域内容 $(select_combox).empty(); for (var i = 0; i < comboboxStore.length; i++) { select_combox.append("<div class=\"select_item\" id=\"" + comboboxStore[i].itemId + "\" style=\"height:20px;\">" + comboboxStore[i].text + "</div>"); } //对显示项添加鼠标移动事件 $(".select_item").each(function(){ $(this).hover( function(){ $(this).addClass("item_selected"); }, function(){ $(this).removeClass("item_selected"); }); }); } /** * 组件事件添加 */ function comboboxInitEvent() { //添加显示项点击事件 $(".select_item").click(function(){ //$(this).addClass("item_selected"); var item = $(this); for (var i = 0; i < comboboxStore.length; i++) { var id = $(item).attr("id"); var storeItem = comboboxStore[i]; //判断当 前ID是否与存储内容相等 if (id == storeItem.itemId) { $("#" + storeItem.id).val(storeItem.value); //显示选择输出值 $("#" + clazzCombox + "_show_input").val(storeItem.text); $("#" + clazzCombox + "_hidden").val(storeItem.value); } } $("#" + clazzCombox + "_show_bar").hide(); }); $("#" + clazzCombox + "_show_input").click(function(){ $("#" + clazzCombox + "_show_bar").show(); }); } //Combobox数据存储容器 var comboboxStore = new Array(); jQuery(function($){ /** //解析页面中存在的数据select 数据 $("." + combobox_zk).each(function(){ //隐式存值input 对象Id var hidId = $(this).attr("name") + "_hidden"; //加载页面初始数据并存入Combobox容器中 var index = 0; $(this).find("option").each(function(){ var comboxVoObj = new ComboxVoObj(hidId,$(this).val(),$(this).text(),"combox_item_" + (index + 1)); comboboxStore[index++] = comboxVoObj; }); }); //显示对应的combobox[区域] var select_combox = $("#" + clazzCombox + "_show_items"); //清空显示区域内容 $(select_combox).empty(); for (var i = 0; i < comboboxStore.length; i++) { select_combox.append("<div class=\"select_item\" id=\"" + comboboxStore[i].itemId + "\" style=\"height:20px;\">" + comboboxStore[i].text + "</div>"); } //对显示项添加鼠标移动事件 $(".select_item").each(function(){ $(this).hover( function(){ $(this).addClass("item_selected"); }, function(){ $(this).removeClass("item_selected"); }); }); **/ comboboxInitData(); comboboxInitEvent(); /** //添加显示项点击事件 $(".select_item").click(function(){ //$(this).addClass("item_selected"); var item = $(this); for (var i = 0; i < comboboxStore.length; i++) { var id = $(item).attr("id"); var storeItem = comboboxStore[i]; //判断当 前ID是否与存储内容相等 if (id == storeItem.itemId) { $("#" + storeItem.id).val(storeItem.value); //显示选择输出值 $("#" + clazzCombox + "_show_input").val(storeItem.text); $("#" + clazzCombox + "_hidden").val(storeItem.value); } } $("#" + clazzCombox + "_show_bar").hide(); }); $("#" + clazzCombox + "_show_input").click(function(){ $("#" + clazzCombox + "_show_bar").show(); }); **/ var showValue = $("." + combobox_zk).find("option:selected").text(); $("#" + clazzCombox + "_show_input").val(showValue); $("#" + clazzCombox + "_hidden").val($(".combobox_zk").val()); }); </script> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <br/> <br/> <br/> <select class="combobox_zk" style="display:none;" name="select_combobox"> <option value="1">用户1</option> <option value="2">用户2</option> <option value="3" selected="selected">用户3</option> <option value="4">用户4</option> <option value="5">用户5</option> <option value="6">用户6</option> <option value="7">用户7</option> </select> <span style="width:220px;height:26px;border:1px solid #95B8E7;overflow:hidden;background-color: #ffffff;display:inline-block;"> <input type="text" class="select_combox" id="select_combobox_show_input" style="width:200px;border:0px;height:26px;margin:0px;padding:0px;" /> <span>V</span> <input type="hidden" name="state" id="select_combobox_hidden"> <div style="position:absolute;z-index:9001;display:none;width:220px;overflow:hidden;background-color: #ffffff;" id="select_combobox_show_bar"> <div style="height:120px;width:220px; border:1px solid #95B8E7;margin:0px;padding:0px;overflow:auto;" id="select_combobox_show_items"> </div> </div> </span> <br/> <br/> <br/> <br/> <br/> <br/> <br/> </body> </html>
相关推荐
关于C#中comboBox控件的简单实例。
MVVM 开发模式下,简单的combobox, Combobox.ItemTemplate,以及dataGrid内嵌Combobox绑定。如果需要在window窗体内运行,需要把 AncestorType={x:Type UserControl}},改为AncestorType={x:Type Window}}
此为示例程序源码. 其中Form1窗体演示了为ComboBox添加和移除项的使用方法; Form2窗体演示了ComboBox从数据库获取数据源的用法,以及Text、SelectedText...开发环境为vs2008,有一个页面连了一下SQL SERVER的pubs数据库
实例017 使用算术运算符开发简单计算器 21 实例018 使用“^”运算符对数字进行加密 22 实例019 巧用位移运算符获取汉字编码值 24 实例020 使用条件运算符判断指定年份 是不是闰年 25 实例021 使用流程控制语句报销...
实例018 使用算术运算符开发简单计算器 实例019 使用条件运算符判断指定年份是不是闰年 实例020 使用typeof关键字获取类的内部结构 实例021 巧用位移运算符获取汉字编码值 实例022 使用异或运算符对数字进行加密 第...
8.6 组合框(Combobox)控件 8.7 图片(Picture)控件 8.8 列表(ListCtrl)控件 8.8.1 Win32新型控件概述 8.8.2 列表控件的使用 8.8.3 ClistCtrl类的主要成员函数 8.9 树形(TreeCtrl)控件 8.9.1 树形控件的使用 8.9.2 ...
C#、WPF使用技巧,实战应用开发小系统参考资料,源码参考。经测试可运行。 详细介绍了一些WPF框架的各种功能和模块,以及如何使用WPF进行GUI开发、网络编程和跨平台应用开发等。 适用于初学者和有经验的开发者,能够...
由ComboBox派生,把ComboBox的下拉变为一个Memo 用于想学写控件的朋友学习
9.5.2 CBrush类简单画刷的实现 429 9.5.3 CBrush类位图画刷的实现 430 9.5.4 透明画刷的实现 431 9.6 小结 433 第10章 Visual C++ 2010 MFC动态函数链接库 434 10.1 动态函数链接库简介 434 10.1.1 什么是动态函数...
强大灵活,接口简单实用的表现层(2天学会Extjs开发) •懂Html、简单Js即可快速上手Extjs开发 •无需美工、代码简单,提升Web开发4-8倍效率 设计灵活、高效、开源的组件层 •有任何数据库编程基础2天内即可...
18.4.4 ComboBox控件、ListBox控件 18.4.4 和CheckedListBox控件 682 18.4.5 DateTimePicker控件 684 18.4.6 ErrorProvider组件 685 18.4.7 HelpProvider组件 686 18.4.8 ImageList组件 686 18.4.9 Label控件 686 ...
强大灵活,接口简单实用的表现层(2天学会Extjs开发) •懂Html、简单Js即可快速上手Extjs开发 •无需美工、代码简单,提升Web开发4-8倍效率 设计灵活、高效、开源的组件层 •有任何数据库编程基础2天内即可...
强大灵活,接口简单实用的表现层(2天学会Extjs开发) •懂Html、简单Js即可快速上手Extjs开发 •无需美工、代码简单,提升Web开发4-8倍效率 设计灵活、高效、开源的组件层 •有任何数据库编程基础2天内即可...
强大灵活,接口简单实用的表现层(2天学会Extjs开发) •懂Html、简单Js即可快速上手Extjs开发 •无需美工、代码简单,提升Web开发4-8倍效率 设计灵活、高效、开源的组件层 •有任何数据库编程基础2天内即可...
简单易行ArrayReader 8.4.2.2. 灵活轻便JsonReader 8.4.2.3. 久负盛名XmlReader 8.4.3. 相信你知道怎么做加法 8.5. 跟我用json,每天五分钟 8.5.1. Hello 老爸。 8.5.2. 老妈等等,孩子先上场。 8.5.3. 老妈来了,...