这个功能的处理过程是:在一个div divCont中放入要显示的选项,给要检索的Label中加入了 forSearch="true"属性(这是个自定义属性),代码根据这个属性取得我们要检索的所有的Label(待检索内容为Label中的文本,我们通过innerHTML取得.),然后用我们要查询的字符串与取得的label内的文本进行比对,当找到含有我们要查询的字符串时,将这个Label背景设为绿色,同时记录第一个找到的 label,检索完毕后,将div divCont的滚动条移到第一条检索结果出。
如何将这个功能推广到checkbox以外其它上面去呢? 根据上面讲解,我们知道,检索依赖的主要是Label的forSearch="true"
属性和这个Label的innerHTML,所以,我们可以对我们要检索的标签加上forSearch="true"属性,将要检索的内容置于该标签内即可。也就是说,这个检索事实是与标签没有关系的。
在实际项目中应用时,需要将下面要素添加到页面:
1.header部分的javascript,添加到你的页面的header部分;
2.name="words11"的文本框,onclick="searchInfor()的button;
3.待检索内容的容器<div id="divCont" style="border:1pt #BBCCC0 solid;height:232px;width:40%; overflow: auto; position:absolute"></div>, 这个可选,(但推荐加上,可以看起来比较美观点。)主要是为了实现滚动条效果,如果不加,就会取得整个body下面的指定标签;
4.
getCheckBoxText()
函数,这个函数可以传入参数,指定要进行检索的标签类型,默认为label,当传入*时,它将认为整个页面(这一块有点不合理,应该是指定的div下面的所有标签才合适,但目前还没有找到比较好的可以快速获取div下面所有子节点的方法,不止第一层的,如果找到了,可以修改getElementsByAttribute的第一行代码来实现.)的所有加forSearch="true"的标签都要检索。5.给你要检索的标签中添加forSearch="true"属性;
6.将最末尾的javascript代码添加到你的页面的最末尾,千万不要放到header部分,负责divCont会取不到。
7.美化页面:)
这样,你的页面就可以具有一个页面搜索功能了.在使用过程中,如果有什么新发现,欢迎分享。
|
作者:豆博草堂