输入框中用onkeyUp事件调用方法获取值
<input type="text" name="accountId" id="accountId_id" onkeyup="displayId();showLayer('search_suggest',this);" autocomplete="off"/>
<div id="search_suggest" style="display: none; position: absolute;" ></div><script type="text/javascript">
function displayId()
{
var id = trim(document.getElementById("accountId_id").value);
if(id.length == 0)
{
return false;
}
else
{
//请求的地址
var url = 'Ajax_Autocompleter.action';
var param = trim(Form.Element.serialize('accountId'));
var myAjax = new Ajax.Request(
url,
{
method:'post',
parameters:param,
onComplete: processResponse1,
asynchronous:true
});
}
}
function processResponse1(request)
{
var ids = new Object();
ids = request.responseText.parseJSON(); //获取数据库返回值
var ss = document.getElementById("search_suggest");
ss.style.cursor = "pointer";
ss.innerHTML = "";
var objInput = document.getElementById("accountId_id");
var selectedIndex=-1;
if(ids.vc.length != 0)
{
for(var i=0; i< ids.vc.length ; i++ )
{
var suggest = "<div onmouseover=\"this.className='sman_selectedStyle'\"";
suggest += " onmouseout=\"this.className=''\"";
suggest += " onmousedown=\"document.getElementById('accountId_id').value='" + ids.vc[i] + "'\">";
suggest += "" + ids.vc[i] + "</div>";
ss.innerHTML += suggest;
ss.style.display = "block";
}
}else{
ss.style.display = "none";
}
//文本框失去焦点
objInput.onblur=function(){
ss.style.display='none';
}
//文本框按键抬起
objInput.OnKeyUp=checkKeyCode; /////////////此处onkeyUp事件和上面飞文本框中事件发生冲突,不想用jquery做,请路过的朋友帮忙解决,谢谢!!!
//文本框得到焦点
objInput.onfocus=checkAndShow;
function checkKeyCode()
{
var ie = (document.all)? true:false
if (ie){
var keyCode=event.keyCode
if (keyCode==40||keyCode==38){ //下上
var isUp=false
if(keyCode==40) isUp=true ;
chageSelection(isUp);
}else if (keyCode==13){//回车
outSelection(selectedIndex);
}else{
//checkAndShow();
}
}
}
function outSelection(Index){
objInput.value = ss.children[Index].innerText;
ss.style.display='none';
}
function chageSelection(isUp)
{
if (ss.style.display=='none'){
ss.style.display='';
}else{
if(isUp)
selectedIndex++
else
selectedIndex--
}
var maxIndex = ss.children.length-1;
if (selectedIndex < 0){selectedIndex=0}
if (selectedIndex > maxIndex) {selectedIndex = 0}
for (var i = 0;i <= maxIndex ; i++)
{
if (i==selectedIndex){
ss.children[i].className="sman_selectedStyle";
}else{
ss.children[i].className="";
}
}
}
}
</script>
解决方案 »
- jquery 关于取表单对象中的元素。
- 怎样取得form 的id值
- javascript自定义函数 的缺省值怎么定义
- 动态加载图片的问题,请各位帮忙,谢谢
- 谁用过NetMeeting的CallTo()函数呀,急!在线等。没用过也来看看呀。
- Js中prototype继承问题升级之jQuery原理实践
- 请帮我分析一段javascript代码,急~
- 请问:如何把select表单的内容复制到另一个select表单里~~~ ^_^
- 如何用javascript做toolbox?或者说,做一个类似画图的东东?谁能告诉我网上有没有这类的代码?
- 菜鸟对easyui的使用表示不理解,表格,样式,树为什么不出来?已经深夜了。。。。
- 用javascript将iframe中的文本中的\r或\n替换为<br>
- 后台上传pdf文件的地方,上传不了. 老是出现DNS错误!但是其他格式的文件上传正常
objInput.OnKeyUp=function(){checkKeyCode();return abc();}
实在不好意思,打错字了,不是‘飞文本框’,是‘输入框’