// JavaScript Document
function GetIE(e) {
//获取对象的大小及位置
var t = e.offsetTop;
var l = e.offsetLeft;
var w = e.offsetWidth;
var h = e.offsetHeight;
while (e = e.offsetParent) {
t += e.offsetTop;
l += e.offsetLeft;
}
var re = { Top: t, Left: l, Width: w-2, Height: h }
return re;
}
function DoSelect(id, text) {
//完成选择项
document.getElementById(id).value = text; //返回选项的值给文本框
DeleteTip("TipListBox"); //删除提示窗口
}
function SelectItem(Pos) {
//将焦点给指定位置的项
var e = document.getElementById("TipListBox_"+Pos.toString() );
if (e != null) {
e.focus();
//e.style.cssText = "cursor:default;color:#f00;padding-left:1px;display:block;text-decoration:none;";
}
event.returnValue = false;
}
function SetFocusStyle(refObj) {
//设置光标所在项的样式
refObj.style.color = "#fff";
refObj.style.backgroundColor = "#0066CC";
}
function SetBlurStyle(refObj) {
//恢复光标所在项的样式
refObj.style.color = "#000";
refObj.style.backgroundColor = "";
}
function DeleteTip(id) {
//删除提示窗口
if (document.getElementById(id) != null) {
document.getElementById(id).removeNode(true);
}
}
//取总数
function CountNum(strValue) {
var count = _Default.productcount(strValue);
return count;
}
//取结果列项
function GetstrHTML(strValue, ID) {
//var strlist = WebSite.MethodFunction.bind(strValue, ID);
var strlist = _Default.bind(strValue, ID);
return strlist.value;
}
function ShowTip(refObj) {
DeleteTip("TipListBox"); //删除之前的提示窗口
document.onclick = function () {
//如果鼠标操作不在当前文本框,则将提示窗口删除
if (event.srcElement.id != refObj.id) {
DeleteTip("TipListBox");
document.onclick = null;
}
}
var currentPos = -1; //当前选项位置
var str = refObj.value; //当前文本框的值
var eMember = GetIE(refObj);
var eWinElement = document.createElement("div");
eWinElement.id = "TipListBox"; //指定提示窗口ID为TipListBox
eWinElement.style.cssText = "background-Color:#fff;font-size:14px;line-height:30px;border:1px solid #000;position:absolute;left:" + eMember.Left + "px;top:" + (eMember.Top + eMember.Height) + "px;width:" + eMember.Width + "px";
//var li = '<a href="javascript:void(0)" onblur="SetBlurStyle(this)" onfocus="SetFocusStyle(this)" id="TipListBox_$Order$" onclick="DoSelect("$ID$",this.innerText)" style="text-decoration:none;width:100%;cursor:default;color:#000;padding-left:2px;display:block;" onmouseout="SetBlurStyle(this)" onmouseover="SetFocusStyle(this)">$Value$</a>'; //列表项模板
var strHTML = "";
var iCount = 0;
strHTML = GetstrHTML(str, refObj.id);
iCount = CountNum(str);
if (strHTML == "") return; //如果没有配匹的值则不显示提示窗口
eWinElement.innerHTML = strHTML;
document.body.appendChild(eWinElement);
if (parseInt(eWinElement.offsetHeight) > 120) eWinElement.style.height = "120px"; //定义提示窗口高度
document.onkeydown = function () {
if (event.keyCode == 40 && currentPos < (iCount.value - 1)) {
//向下的按键操作
SelectItem(++currentPos);
// alert("向下");
refObj.value = document.getElementById("TipListBox_" + currentPos.toString()).innerText;
//refObj.focus();
}
if (event.keyCode == 38 && currentPos > 0) {
//向上的按键操作
SelectItem(--currentPos);
refObj.value = document.getElementById("TipListBox_" + currentPos.toString()).innerText;
}
if (event.keyCode != 38 && event.keyCode != 40) {
//其它按钮将当前选项恢复-1的位置
//alert("其他按钮");
//currentPos = -1;
//refObj.focus();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
ASP.NET+SQL Server 2008+ JScript智能提示框输入.rar (8个子文件)
TipBoxTest
Default.aspx 2KB
Jscript
tipTop.js 4KB
数据库
userDB_log.ldf 1024KB
userDB.mdf 3MB
Bin
AjaxPro.2.dll 144KB
AjaxPro.2.dll.refresh 36B
web.config 1KB
Default.aspx.cs 3KB
共 8 条
- 1
资源评论
zzfyd
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功