Select 控件Combox加强版(IE Only)
作者:快乐笛子 来源:快乐笛子的博客 发布时间:2008-07-23 13:26:00
概述:
本控件使用 html+css+javascript模拟HTML内置的select元素,实现其部分方法与属性,也增加了一部分功能,并且从UI上超越原生select控件。本控件使用到隐藏域、文本框、隐藏框架,隐藏域保存控件的值,文本框保存选项文本,隐藏框架通过切换显示/隐藏达到菜单收展效果,并储存选项列表。
js框架:myjsFrame 源代码下载 (0.21 API 开发文档)
用法:
页面上先后引用 myJSFrame.js、combox.js
在需要使用控件的地方加入如下代码: var data = "张三:123456,李四:654321,赵武:456789,钱六:987654,赵七:000";//数据源(数据源格式包含几种格式,详细见下面所述)
var t = new ComBox( data );//必须。创建实例
t.name="demo"; //必须。指定实例名称,名称必须唯一,多个同类的控件名称不同
t.write();//必须。输出控件
上面示例代码共四行,且都是必需的。新创建的实例除了有name属性与write方法外,还有其他属性方法:
readOnly
可选属性。值类型为布尔类型。默认为 true。
selectedIndex
可选属性。值为整型。默认为 -1。预设下拉列表被选中的项目。-1 表示不选。0 表示第一个选项,以此类推。
onchange
可选属性。值类型为方法(function)。类似于 select 控件的 onchange 事件。可给实例绑定自定义方法,默认给方法传入实例对象。
width
可选属性。值为整型。默认值为 140。定义控件宽度。
autoComplete
可选属性。值类型为布尔类型。默认为 true。设置控件是否需要自动完成。在 readOnly 为 true 的情况下,按a-z键将会自动按字母索引下拉选项,在 readOnly 为 false 的情况下,下拉列表将按用户的输入自动加粗选项以提示。
控件基本结构:
<div class="combox" style="zoom:1">隐藏域存放 value,输入框显示文本,iframe 内部 html 将在 write 方法执行时生成。
<input type="hidden" /><input type="text" /><a href="javascript:void(0)"><img src="trigger.gif" /></a><iframe frameborder=0 src="about:blank" name=""></iframe>
</div>
数据源:
对象
{text:"value", text1:"value1", text2:"value2"......}
数组
["text:value", "text1:value1", "text2:value2"......]
字符串
"text:value,text1:value1,text2:value2......"
公用方法:
页面上创建的所有控件都会在虚拟队列里注册,公用方法入口 ComBox.findInstance(name) 中的参数 name 为控件实例名称,该方法找到页面上的控件,并提供若干方法与属性,下面列出各方法与属性的完整调用形式:
ComBox.findInstance(name).options
所有选项的集合。实质是个标准的数组,每个元素是一个完整的对象,形如:{text:xxx,value:123456}
ComBox.findInstance(name).selectedIndex
当前选中的选项序号。从0开始计算的下标值。如果所有都未被选,返回 -1。
ComBox.findInstance(name).text
当前选中的选项文本。
ComBox.findInstance(name).value
当前选中的选项值。
ComBox.findInstance(name).setValue(value)
设置控件的值。该方法将查找所有选项的值,匹配的第一个选项将被选中,其余的选项处于待选状态。如果所有的选项均不匹配传入的value,则所有选项都处于待选状态。
ComBox.findInstance(name).setText(text)
设置控件的值。该方法将查找所有选项的文本,匹配的第一个选项将被选中,其余的选项处于待选状态。如果所有的选项均不匹配传入的text,则所有选项都处于待选状态。
ComBox.findInstance(name).select(n)
选中下标为 n 的选项。
ComBox.findInstance(name).add(text,value)
增加一个选项。新选项将出现在列表的底部。
ComBox.findInstance(name).addBefore(text,value,n)
增加一个选项。新选项将在指定的下标位置 n 前面出现。
ComBox.findInstance(name).remove(n)
移除下标为 n 的选项。
ComBox.findInstance(name).sort(fun)
给下拉选项排序。fun 是排序的方式,如顺序、倒序,如按客户端区域设置排序,则 fun 为 function(a,b){return a.localeCompare(b)}
另外,上面提到的所有方法都可以迭代执行,比如 ComBox.findInstance("myName").add("啊蔡","27").sort().select(1); 表示新增一个选项后在给所有选项排序,然后选中下标为1的选项。
作者网站下载:combox.rar
本站下载地址:combox.rar (16.36 KB)


猜你喜欢
- 问题一开始安装的Autoprefixer是最新版本的3.0.1,一波操作后发现无效想是不是因为没设置browsers?那就设置一下吧&quo
- 分享一个以前写的小游戏,纯js游戏,代码很简单。欢迎大家来喷呦!效果图: 代码展示://直接复制到html文件即可 支持IE9+版
- match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找匹配, 也就是说match()只
- 今天要做一个量子隧穿的的演示动画,在CSDN上看了很多大佬的文章,然而忙了接近半天才做好这件事。把踩过的坑记一下,同时这段代码也是值得记录的
- 以前写过《 10条影响CSS渲染速度的写法与建议》,今天放些数据出来,供参考;首先说明一点,CSS对网页的最后渲染出来的速度影响非
- 第一步.开启mysql慢查询方式一:修改配置文件Windows:Windows 的配置文件为 my.ini,一般在 MySQL 的安装目录下
- 基于以下三个原因,我们选择Python作为实现机器学习算法的编程语言:(1) Python的语法清晰;(2) 易于操作纯文本文件;(3) 使
- 本文实例讲述了Python实现的生产者、消费者问题。分享给大家供大家参考,具体如下:生产者、消费者问题,经典的线程同步问题:假设有一个缓冲池
- ScrapyScrapy是纯python实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架。Scrapy使用了Twisted异步网络
- 通过引用serial模块包,来操作串口。1、查看串口名称在Linux和Windows中,串口的名字规则不太一样。需要事先查看。Linux下的
- python的开发工具有很多种,各有特点,本人一直使用的是pycharm,所以本篇内容仅限pycharm。1,设置python文件头模板当我
- 实例如下:# -*- coding: utf-8 -*-"""Spyder EditorThis tempor
- 摘要:本篇博客将详细介绍如何使用YOLOv5进行车牌识别模型的训练与评估。我们将搭建训练环境、准备数据、配置模型参数、启动训练过程,以及使用
- 一 MySQL的内部组件结构大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。1.1 service层主要包括连接器、查询
- 想弄个截屏工具,整理一下学生错题什么的,原来用的方法是:先运行QQ,再监听键盘热键(“ctrl+alt+a”)。后来发现有些问题:需要先上Q
- 前言还记得这个九九乘法表吗,这次课后相信你可以用代码给你的小弟弟妹妹们变出这份“葵花宝典”。循环如果要把循环翻译成机器语言,那他对应的可以是
- Python中有以下几个基本的数据类型:整数 int字符串 str浮点数 float集合 set列表 list元组 tuple字典 dict
- 本文实例为大家分享了python实现knn算法的具体代码,供大家参考,具体内容如下knn算法描述对需要分类的点依次执行以下操作:1.计算已知
- 看起来现在经常用到这样的效果来提高用户体验,所以就没事写了一个输入框提示列表的效果使用宽屏的朋友麻烦帮忙测试下,列表的位置有没有错位。代码可
- 本文实例讲述了微信小程序控制台提示warning:Now you can provide attr "wx:key" f