Автозаполнение Jquery для текстовой области - PullRequest
0 голосов
/ 30 марта 2012

Я использую автозаполнение jquery для текстовой области. Я хочу, чтобы функция автозаполнения вызывалась всякий раз, когда я нажимаю «пробел». Работает нормально только в первый раз. Может ли кто-нибудь помочь мне с этим? **

Я использовал следующий код:

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"      type="text/javascript">    </script>
        <script src="http://code.jquery.com/ui/1.8.18/jquery-ui.min.js" type="text/javascript"></script>
        <script src="http://jquery-ui.googlecode.com/svn/tags/latest/external/jquery.bgiframe-2.1.2.js"  type="text/javascript"></script>
        <script src="http://jquery-ui.googlecode.com/svn/tags/latest/ui/minified/i18n/jquery-ui-i18n.min.js" type="text/javascript"></script>
<script>
function auto_comp(flag1)
{

$(function() {

    var availableTags = [
        "ActionScript",
        "AppleScript",
        "Asp",
        "BASIC",
        "C",
        "C++",
        "Clojure",
        "COBOL",
        "ColdFusion",
        "Erlang",
        "Fortran",
        "Groovy",
        "Haskell",
        "Java",
        "JavaScript",
        "Lisp",
        "Perl",
        "PHP",
        "Python",
        "Ruby",
        "Scala",
        "Scheme",
        "{ }"

    ];
if(flag1 == 1)
{

    $( "#tags" ).autocomplete({

        source: availableTags
    });

}
});
}
</script>

<div class="demo">

<div class="ui-widget">
<textarea id="tags" name="get" rows="5" cols="31"></textarea>

<script>
  var charfield=document.getElementById("tags");

 var flag=0;
 charfield.onkeypress=function(e){
  var e=window.event || e;
  var keyunicode=e.charCode || e.keyCode;
   if(keyunicode == '97'|| keyunicode == '65')
  {
   flag=1;
  auto_comp(flag);

 }
document.getElementById("unicode").value=keyunicode;
}

  </script>
</body></html>

Ответы [ 3 ]

1 голос
/ 30 марта 2012
0 голосов
/ 02 мая 2013
0 голосов
/ 30 марта 2012

jQuery autocomplete - это виджет, поэтому его не нужно вызывать каждый раз, когда вам нужно что-то сделать. Вместо этого вы можете сделать следующее:

$( "#tags" ).autocomplete({
    source: availableTags
}).bind( "autocompletesearch", function(event, ui) {
    return !(event.keyCode == '97'|| event.keyCode == '65');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...