3

在某个地方,我找到了一个非常适合我的自动完成脚本,但有一件事我不知道如何更改。当您单击下拉列表中的某些内容时,它不会提交此字符串,您必须单击以选择字符串,然后单击提交按钮或按 Enter。我希望这个下拉自动完成在单击或按 Enter 时提交选定的字符串。这是代码:

        <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)有大约 10,000 行代码,所以我不得不在这里上传它们:http://speedy.sh/a67xR/java-files.zip希望有人可以帮助我这。

4

1 回答 1

2

您必须在调用中配置 onclick/select 行为autocomplete,试试这个:

$( "#txt" ).autocomplete({            
    source: availableTags,
    select: function(event, ui) {
        $(event.target).val(ui.item.value);
        doSomething();
        return false;
    }
});
于 2012-10-19T22:01:02.760 回答