$v) { $fields .= $v.','; $setBody .= "$('#".$k."').val(".$v.");"; } } $fields .= $search[1]; $this->output.=$this->Javascript->codeBlock(' $("#'.$idInput.'").ready(function(){ $("#'.$idInput.'").attr("onkeyup","query_'.$idInput.'(this.value)"); $("#'.$idInput.'").attr("autocomplete","off"); $("#'.$idInput.'").after(""); }); function query_'.$idInput.'(txt) { if(txt.length >= '.$strlen.') { $.post("'.$this->webroot.$this->params["controller"].'/autocomplete", {query: txt, fields: "'.$fields.'", search: "'.$search[1].'", model: "'.$search[0].'", numresult: "'.$numResult.'", rand: "'.$idInput.'"}, function(data){ $("#span_'.$idInput.'").html(""); $("#ul_'.$idInput.'").width($("#'.$idInput.'").width()); $("#span_'.$idInput.'>ul>li>a").keypress(function(e) { pressedKey = e.charCode || e.keyCode || -1; switch(pressedKey) { case 38://up position=position-1; if (position<0) { position=dimensione-1; } $("#span_'.$idInput.'>ul>li>a").eq(position).focus(); return false; break; case 40://down position=position+1; if (position>=dimensione) {position=0;} $("#span_'.$idInput.'>ul>li>a").eq(position).focus(); return false; break; } }); }); } } $("#'.$idInput.'").keypress(function(e) { pressedKey = e.charCode || e.keyCode || -1; dimensione=$("#span_'.$idInput.'>ul>li").size(); switch(pressedKey) { case 38://up $("#span_'.$idInput.'>ul>li>a").eq($("#span_'.$idInput.'>ul>li").size()-1).focus(); position = $("#span_'.$idInput.'>ul>li").size()-1; break; case 40://down $("#span_'.$idInput.'>ul>li>a").eq(0).focus(); position=0; break; } }); function set_'.$idInput.'('.$fields.') { '.$setBody.' $("#'.$idInput.'").val('.$search[1].'); $("#span_'.$idInput.'").html(""); } '); return $this->output; } } ?> ?>