Всем привет! Помогите пожалуйста, делаю автокомплит. Работает, но очень криво, при первом нажатии, данные ПОСТом забираются, но сам автокомплит не срабатывает, если нажимаем второй раз, то он работает нормально. Если удалить второй символ (вернуться к первому) то все работает как надо. Как сделать что бы все работало с 1 ого нажатия?
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<!DOCTYPE HTML>
<html>
<head >
</head>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<body >
<form action ='auto.php' method='post'>
<input id="kks" name='kks'/>
<input id="id" name='id' hidden='true'/>
<input id="table" name='table' hidden='true'/>
<input type='submit'>
</form>
$(document).ready(function() {
$("#kks").keyup(function(){
var word = document.getElementById("kks").value;
$.post("maker.php?make=showkksbymywords",{"word":word},function(data){
if (data!=="nodata"){
var lines = data.split("@");
var kks = new Array();
for (var i = 0;i<lines.length;i++){
var tags = lines[i].split(":");
kks[i] = tags[0];
}
$("#kks").autocomplete({
source: lines,
select: function (event, ui) {
var str = ui.item.value.split(":");
document.getElementById("kks").value = str[0];
document.getElementById("id").value = str[1];
document.getElementById("table").value = str[2];
return false;
}
}).data("ui-autocomplete")._renderItem = function (ul, item) {
var items = item.value.split(":")
var kks = items[0];
var id = items[1];
var table = items[2];
return $( "<li>" )
.data("ui-autocomplete-item", kks )
.append( "<a>" + kks + " в <font color='red'>"+get_dbname(table)+"</font></a>" )
.appendTo( ul );
};
}
});
});
});
function get_dbname(name){
return "unknow"
}