在做后台管理的时候,当要管理的数据很多的时候,不可避免的就需要搜索查找功能。这样更简便,快捷,省时省力。因此,搜索也成了必不可少的部分!在搜索的时候有两种方式:1.在数据库中实现,借用数据库的功能,可以轻松的实现搜索功能,然后后台要做的就是规格整理显示出来,方便客户的操作和查看!2,是将所有的内容显示出来,利用业内搜索,挨个查找,知道找出令客户满意的那些条目为止!从网上找到了业内搜索的代码在javaScript中实现:代码如下:
在jsp业内代码:<input type="text" id="searchstr" name="searchstr" class="textbox" size="20">
<input type="button" value="页内查找" οnclick="javascript:findIt();" class="sbttn">
javascript脚本中代码:
var DOM = (document.getElementById) ? 1 : 0;
var NS4 = (document.layers) ? 1 : 0;
var IE4 = 0;
if (document.all)
{
IE4 = 1;
DOM = 0;
}
var win = window;
var n = 0;
function findIt() {
if (document.getElementById("searchstr").value != "")
findInPage(document.getElementById("searchstr").value);
}
function findInPage(str) {
var txt, i, found;
if (str == "")
return false;
if (DOM)
{
win.find(str, false, true);
return true;
}
if (NS4) {
if (!win.find(str))
while(win.find(str, false, true))
n++;
else
n++;
if (n == 0)
alert("未找到指定内容.");
}
if (IE4) {
txt = win.document.body.createTextRange();
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
txt.moveStart("character", 1);
txt.moveEnd("textedit");
}
if (found) {
txt.moveStart("character", -1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
n++;
}
else {
if (n > 0) {
n = 0;
findInPage(str);
}
else
alert("未找到指定内容.");
}
}
return false;
}
个人试过,感觉还可以,唯一不满意的就是查找显示的顺序是从下向上的,而且要是查找框能悬浮于页面上独立出来那就更好了(像Eclipse中查找一样就好了!)有空要试试看,做成那样的!
相比较而言,个人还是更倾向于第一种,虽然会给数据库带来一定压力!但是第一种更直观,形象,便于操作!而且从用户角度看,也是更倾向于第一种!