Выпадающий список автозаполнения - нажмите кнопку ввода / ввода

Где-то я нашел сценарий автозаполнения, который мне подходит, но есть одна вещь, которую я не знаю, как изменить. Когда вы нажимаете на что-то в выпадающем списке, эта строка не отправляется, вам нужно щелкнуть, чтобы выбрать строку, а после этого нажать кнопку "Отправить" или нажать "Ввод". Я хотел бы, чтобы это автозаполнение выпадающего списка отправляло выбранную строку при нажатии или при нажатии клавиши ввода. Это код:

        <link rel="stylesheet" href="ac.css" />    
        <script src="./java/jquery182.js"></script>    
        <script src="./java/jqueryui.js"></script>    
        <script>    
        $(function() {        
        var availableTags = [            
        "Car",   
        "Gun",
        "Apple",
        "Example"]; 

         $( "#txt" ).autocomplete({            
         source: availableTags        
         }); 
         });   
         </script>

        <script type="text/javascript"> 
        <!-- 
        function enter(e){ 
        if(e.keyCode == 13) 
        { 
        doSomething(); 
        return false; 
        } 
        } 
        //--> 
        </script> 


<input class="ui-widget" id="txt" type="text" onkeypress="return enter(event);">
<button type="button" id="btn" onclick="doSomething()">Submit</button>

функция doSomething(); должен быть там, потому что мне это нужно. Эта функция: onkeypress="return enter(event);" здесь, чтобы при нажатии клавиши ввода значение передавалось в doSomething(); функция. Есть 2 документа Javascript (jquery182.js и jqueryui,js), которые содержат около 10000 строк кода, поэтому мне пришлось загрузить их здесь: http://speedy.sh/a67xR/java-files.zip Надеюсь, что кто-то может помочь мне с этот.

1 ответ

Решение

Вы должны настроить поведение onclick/select в вызове autocomplete, попробуй это:

$( "#txt" ).autocomplete({            
    source: availableTags,
    select: function(event, ui) {
        $(event.target).val(ui.item.value);
        doSomething();
        return false;
    }
});
Другие вопросы по тегам