`
zhengjie_dna
  • 浏览: 10389 次
  • 性别: Icon_minigender_1
  • 来自: 福建
最近访客 更多访客>>
社区版块
存档分类
最新评论

jquery 自定义select控件

阅读更多
function selectControl(name,contorDiv){
			this.contorDiv=contorDiv;
			this.scName=name;

			this.selectBoxName=name+'_selectBox'	//select 弹出的div
			this.valueBoxName=name+'_valueBox'		//select 
			this.inputName=name+'_selectValue'
			this.clickBoxName=name+'_clickBox'
			this.signName=name+'_sign'
			this.colNum=3;
			this.colFontLength='10';				//10个汉字20个字符
			this.clickCount;						//当前选中项
			this.jsonData=[
			{name:'天津0',value:'天津0'},
			{name:'天津1',value:'天津1'},
			{name:'天津2',value:'天津2'},
			{name:'天津3',value:'天津3'},
			{name:'天津4',value:'天津4'},
			{name:'天津5',value:'天津5'},
			{name:'天津6',value:'天津6'},
			{name:'天津7',value:'天津7'}]
			var temp=this;
			this.showDiv=function (){
				$('#'+temp.selectBoxName).show();
			}
			this.cloDiv=function (){
				$('#'+temp.selectBoxName).hide();
			}
			//初始化方法
			this.init=function (){
				$('#'+temp.contorDiv).append(temp.createStr())
				$(document.body).bind('click',function (){
					var eleId=event.srcElement.id;
					if(eleId!=temp.selectBoxName && eleId!=temp.valueBoxName && eleId!=temp.inputName&& eleId!=temp.signName){
						temp.cloDiv()
					}
				})
				$('#'+temp.signName).bind('mouseover',function (){
					
					$(this).css('background','url("droparrowover.gif") no-repeat right center')
					window.event.cancelBubble = true;
				})
				$('#'+temp.signName).bind('mouseout',function (){
					
					$(this).css('background','url("droparrow.gif") no-repeat right center')
					window.event.cancelBubble = true;
				})
				temp.setData();
			}
			this.createStr=function (){
				var createStr=''
				createStr+="<div id='"+temp.clickBoxName+"' class='_clickBox' onclick='"+temp.scName+".showDiv()'>"
				createStr+="<table cellpadding=\"0\" cellspacing=\"0\" style='background:#DDD url(selectBg.png) repeat-x left top;'>"
				createStr+="<tr>"
				createStr+="<td id='"+temp.valueBoxName+"' class='valueBox'><input type='text' id='"+temp.inputName+"'></td>"
				createStr+="<td id='"+temp.signName+"' class='sign'>&nbsp;&nbsp;</td>"
				createStr+="</tr></table></div>"	
				createStr+="<div id='"+temp.selectBoxName+"' style='display:block;position:absolute;z-index:10;border:1px solid;width:500;height:250;overflow-y:auto;overflow-x:hidden'></div>"
				return createStr;
				
			}
			//设置数据
			this.setData=function (){
				var tabStr='<table width="100%" id="'+temp.scName+'_valueList" class="valueList" cellpadding="0" cellspacing="0">'
				var romNum=parseFloat(temp.jsonData.length)/parseFloat(temp.colNum)
				if(romNum!=parseInt(romNum)){
					romNum=parseInt(romNum)+1;
				}
				for(var i=0;i<romNum;i++){
					tabStr+='<tr id="'+temp.scName+'_s_tr_'+i+'"></tr>'	
				}
				var count=0;
				var trId,tdStr,name,value;

				tabStr+='</table>'
				$('#'+temp.selectBoxName).html(tabStr)
				$(temp.jsonData).each(function (i){
					trId=temp.scName+'_s_tr_'+count
					name=temp.jsonData[i].name
					value=temp.jsonData[i].value
					if(temp.fontLen(name)>temp.colFontLength){
						name=name.substr(0,temp.colFontLength)+'......'
					}
					tdStr='<td title='+temp.jsonData[i].name+' value='+i+' onclick="'+temp.scName+'.dataClick(this)">'+name+'</td>'
					$('#'+trId).append(tdStr)
					if((i+1)%temp.colNum==0 && i!=0){
						count++;
					}
				});
			}
			this.dataClick=function(obj){
				//alert($(obj).val())
				var i=$(obj).val();
				temp.clickCount=i;
				var inputId='#'+temp.inputName
				$(inputId).attr('value',temp.jsonData[i].name);
				$(inputId).attr('state',temp.jsonData[i].value);

			}
			this.fontLen=function (value){
				return value.replace(/[^\x00-\xff]/g, 'xx').length;
			}
			

		}
		var select=new selectControl('select','select1');
		select.init();
		$('#select1 div').bgiframe();




太简单了就不写注释了
大家有空的时候踩踩 本来是不想写的想找个控件改改就好结果找不到就知道能写了
jquery 请自己添加这里不多说了
  • 大小: 12.2 KB
分享到:
评论

相关推荐

    jquery自定义表单控件.zip

    本压缩包“jquery自定义表单控件.zip”聚焦于利用jQuery来创建自定义的表单元素和交互功能,这对于提升用户界面的体验和一致性至关重要。 首先,我们来了解一下jQuery如何帮助我们处理表单控件。在HTML5中,虽然...

    jquery 封装select实现select自定义样式插件jquery.easydropdown.min.js

    《jQuery封装Select实现自定义样式插件:jquery.easydropdown.min.js》 在Web开发中,Select元素是常用的数据选择控件,但其默认样式通常较为单一,无法满足设计师们对界面美观度的需求。jQuery库为我们提供了丰富...

    jquery 多功能select控件,多功能选择控件

    《jQuery多功能Select控件——实现高效交互与美观界面》 在网页开发中,Select控件是常见的用户交互元素,用于提供下拉选项供用户选择。然而,原生的HTML Select控件在功能和视觉效果上往往无法满足现代网页设计的...

    基于jQuery实现的自定义下拉框控件

    **基于jQuery实现的自定义下拉框控件** 在网页开发中,下拉框(Dropdown)是一种常见的用户界面元素,用于提供多个可选项供用户选择。然而,HTML原生的`&lt;select&gt;`标签功能有限,样式调整不便,无法满足一些高级交互...

    Jquery双向select控件Bootstrap Dual Listbox

    Bootstrap Dual Listbox是一款基于jQuery和Bootstrap框架的双选列表控件,它为用户提供了便捷的方式来在两个选择框之间同步选项的选取。这个控件尤其适用于需要处理大量可选项目的场景,用户可以轻松地进行批量选择...

    jquery select2组件

    **jQuery Select2组件详解** `jQuery Select2`是一款强大的、高度可定制的下拉选择框插件,它在原生HTML `&lt;select&gt;` 元素的基础上提供了丰富的功能和优秀的用户体验。这款组件广泛应用于网页开发中,使得传统的单选...

    select:自定义select控件,支持回调函数,高度,宽度

    标题"select:自定义select控件,支持回调函数,高度,宽度"正是指的这种自定义需求。 首先,我们来讨论自定义select控件。在原生HTML中,select元素的功能有限,样式控制也相对简单。为了实现更具交互性和设计感的...

    jqGrid自定义组合控件范例

    要自定义编辑控件,我们需要实现一个函数,该函数返回一个HTML元素或jQuery对象,这个元素将被用作编辑单元格的内容。函数通常接收两个参数:`options`和`elem`。`options`包含了列定义中的所有参数,`elem`则是当前...

    jquery自定义风格独特的下拉列表控件(可实现单选和多选).zip

    本资源"jquery自定义风格独特的下拉列表控件(可实现单选和多选).zip"提供了一个使用jQuery实现的自定义下拉列表控件,该控件具有独特的设计风格,并支持单选和多选功能,极大地增强了用户界面的交互性和美观性。...

    移动端自定义select插件Ansel

    总的来说,Ansel Select是一个强大的移动端自定义选择器插件,它结合了jQuery的便利性和移动端的交互优化,是提升移动应用选择器体验的理想解决方案。通过深入理解和实践,开发者可以充分利用其特性,为用户带来更...

    select选择框控件jquery-editable-select支持编辑输入

    总的来说,jQuery Editable Select 是一个强大的工具,能够为网页中的选择框控件增添编辑和输入功能,提升用户交互体验。通过深入理解和灵活运用这个插件,开发者可以创建出更符合用户需求的动态下拉列表。

    SELECT控件 美化

    `TransSelect.js`是核心的JavaScript代码,它提供了自定义SELECT控件样式的功能。这个脚本可能包含了以下关键知识点: 1. **模拟SELECT控件**:使用HTML、CSS和JavaScript创建一个视觉上与SELECT控件相似但样式可控...

    html自定义select空间

    4. **事件监听**:添加事件监听器来处理用户的操作,如点击事件、键盘导航事件等,确保自定义Select具有与原生控件相似的可访问性。 5. **响应式设计**:为了适应不同设备和屏幕尺寸,自定义Select需要考虑响应式...

    jQuery And Select2 Demo.zip

    如果你想要自定义Select2的行为,可以传递配置对象作为参数。例如,你可以设置搜索最小字符数,或者禁用某些功能: ```javascript $("#mySelect2").select2({ minimumInputLength: 1, // 用户至少输入一个字符才能...

    常用的html控件,包含自定义控件

    10. jtree:jTree是基于jQuery的树形插件,用于在网页上呈现树状数据结构,支持拖放操作、异步加载和自定义节点图标。 11. 常用html控件:这个文件可能包含了其他一些常见的HTML控件示例或代码片段,用于教学或参考...

    jquery_ui日历控件

    其中,jQuery UI 日历控件(Calendar Widget)是一个非常流行的功能,它允许开发者在网页上添加美观且功能齐全的日历显示和选择功能。这个控件广泛应用于日期输入、事件管理以及时间安排等多种场景。 首先,我们来...

    jquery 下拉框搜索控件

    总结来说,创建一个"jquery 下拉框搜索控件"涉及的主要技术点包括使用jQuery库、引入并应用插件、设置HTML结构、配置和初始化插件以及自定义样式。通过这样的实现,我们可以为用户提供一个高效、直观的搜索体验,...

    jQuery模拟select下拉框插件.zip

    "jQuery模拟select下拉框插件"就是这样一个工具,它提供了更丰富的交互性和定制性,相比原生的HTML下拉框控件,能够为用户带来更好的体验。下面将详细探讨这个插件的原理、功能以及如何使用。 首先,原生的`&lt;select...

Global site tag (gtag.js) - Google Analytics