ligerui新增自动补全上下键选取功能

最近客户提出ligerui自动补全的时候输入关键字之后需要用上下键来选择,所以对ligerui不是熟悉的情况下该了该!往大神们帮我看看还要怎么写!

if(p.autocomplete){

//输入框keydown事件
 g.inputText.keydown(function(event) {
 
switch (event.keyCode) {
case 40://向下键
if (p.disabled || p.readonly) return;
                    if (g.trigger('beforeOpen') == false) return false;
var $selectboxs=g.selectBox;
var $nextSiblingTr = $selectboxs.find(".l-box-select-table").find(".l-over").parent("tr");
if($nextSiblingTr.length <= 0){//没有选中行时,选中第一行
$nextSiblingTr = $selectboxs.find(".l-box-select-table").find("tr:first");
}else{
$nextSiblingTr = $nextSiblingTr.next();
}
$selectboxs.find(".l-box-select-table").find("tr td").removeClass("l-over");
if($nextSiblingTr.length > 0)//有下一行时(不是最后一行)
$nextSiblingTr.find("td").addClass("l-over");//选中的行加背景
var value = $nextSiblingTr.find(".l-over").attr("value");
var text = $nextSiblingTr.find(".l-over").attr("text");
 g._changeValue(value, text);
break;
case 38://向上键
if (p.disabled || p.readonly) return;
                    if (g.trigger('beforeOpen') == false) return false;
 
var $selectboxs=g.selectBox;
var $nextSiblingTr = $selectboxs.find(".l-box-select-table").find(".l-over").parent("tr");
var $previousSiblingTr =  $selectboxs.find(".l-box-select-table").find(".l-over").parent("tr");
if($previousSiblingTr.length <= 0){//没有选中行时,选中最后一行行
$previousSiblingTr = $selectboxs.find(".l-box-select-table").find("tr:last");
}else{
$previousSiblingTr = $previousSiblingTr.prev();
}
$selectboxs.find(".l-box-select-table").find("tr td").removeClass("l-over");
if($previousSiblingTr.length > 0)//有上一行时(不是第一行)
$previousSiblingTr.find("td").addClass("l-over");//选中的行加背景
var value = $previousSiblingTr.find(".l-over").attr("value");
var text = $previousSiblingTr.find(".l-over").attr("text");
 g._changeValue(value, text);

break;
case 13://回车键
g.selectBox.hide();
break;
case 27://ESC键隐藏下拉框
g.selectBox.hide();
break;
}
});
}

你可能感兴趣的:(ligerui新增自动补全上下键选取功能)