2012-04-08 75 views
2

我想創建一個自動填充字段與jquerys着名的自動完成,並從MySQL數據庫創建一個數組。它可以很好地工作,但是當進行選擇時,輸入字段值不會更新,因此我無法從表單中傳遞值。有人可以幫我嗎?Jquery自動完成不更新輸入值與選擇

JQUERY:

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/themes/base/jquery-ui.css " type="text/css" media="all" /> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js " type="text/javascript"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js " type="text/javascript"></script> 
<script> 
$(document).ready(function() { 
    $("#keywords").autocomplete({ 
    source: keywordList 
    }); 
}); 

</script> 
<?php echo keywordArray(); ?> 

PHP:(創建數組列表自動完成)

<?php 
include 'admin/dbconn-dest.php'; 

function keywordArray() 
{ 
    $rsKeywords = mysql_query("SELECT Destination FROM Destinations WHERE Country = 'Mexico'"); 

    $output = '<script>'."\n"; 
    $output .= 'var keywordList = ['; 

    while($row_rsKeywords = mysql_fetch_assoc($rsKeywords)) 
    { 
    $output .= '"'.$row_rsKeywords['Destination'].'",'; 
    } 

    $output = substr($output,0,-1); //Get rid of the trailing comma 
    $output .= '];'."\n"; 
    $output .= '</script>'; 
    return $output; 
} 
?> 

HTML:

<input id="keywords" name="keywords" type="text" autocomplete="off" size="40" > 

任何幫助將不勝感激!

+0

的價值,你可以張貼[的jsfiddle(http://www.jsfiddle.net)證明了問題? – 2012-04-09 00:18:44

回答

4

使用SELECT event設置輸入框

$("#keywords").autocomplete({ 
    source: keywordList, 
    select: function (event, ui) { 
         $("#keywords").val(ui.item.value);      
        } 
    }); 
+0

非常感謝! – lov2code 2012-04-09 00:39:24

1

這是一個已知問題。嘗試使用Select First插件。這應該爲你做的工作(至少它在我的情況下完美罰款)

希望有所幫助。