输入框中用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>
解决方案 »
- 有没有类似easyui的propertygrid的jquery控件?
- html的checkbox在ie与ff中的差异
- eval、escape和unescape ,帮我解释下这段代码
- firefox dom操作后,一行的内容都缩到第一个单元格里
- 使用jquery.uploadify ,PC上FF、CHROME、SAFARI均上传图片成功,但是手机上怎么都不行,急死了!
- 如何应用这段代码?
- js的事件操作,[200]言必行
- 获得一表格的行数应该怎样获得?我这样做不正确,请指点。
- 多个异步ajax请求如何指定顺序执行,急!!!!
- 把刷新改成没有动作
- 用javascript将iframe中的文本中的\r或\n替换为<br>
- 后台上传pdf文件的地方,上传不了. 老是出现DNS错误!但是其他格式的文件上传正常
objInput.OnKeyUp=function(){checkKeyCode();return abc();}
实在不好意思,打错字了,不是‘飞文本框’,是‘输入框’