我試圖填充郵政編碼(即郵政編碼)輸入字段從MySQL數據庫中的數據,根據用戶選擇的選項來自jQuery自動填充字段的郊區。jQuery的自動完成和PHP:填充輸入字段基於在自動填充字段中選擇選項從MySQL數據庫中的數據
自動完成工作正常 - 過濾的郊區列表是基於從用戶輸入詞檢索。源參考是一個PHP文件。但我無法弄清楚如何使用用戶選擇的選項回調數據庫來檢索郵編。可能郵政編碼可以在第一次調用來檢索,同時爲郊區:除了我不希望所有的郵政編碼,只需用戶最終選擇的一個。
我jQuery是如下:(該 「$( '#郵政編碼')」 行不工作尚未...)
<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.15.custom.min.js"></script>
<script>
// autocomplete
$(function() {
$("#suburbs").autocomplete({
source: "allSuburbs.php",
minLength: 3,
select: function(event, ui) {
$('#postcodes').val(ui.item.postcode);
},
});
});
</script>
相關的html:
<p>Suburb</p><input class="inputText" type="text"
size="50" name="term" id="suburbs" maxlength="60" /></td>
<td><p>State</p><input class="inputText" type="text"
size="5" name="" id="states" maxlength="4" /></td>
<td><p>Postcode</p><input class="inputText" type="text"
size="5" name="" id="postcodes" maxlength="4" /></td>
PHP (allSuburbs.php):
<?php
$con = mysql_connect("***","***","***");
if (!$con) { die('Could not connect: ' . mysql_error()); }
$dbname = 'suburb_state';
mysql_select_db($dbname);
$query = "SELECT name FROM suburbs";
$result = mysql_query($query);
if (!$result) die ("Database access failed:" . mysql_error());
//retrieving the search term that autocomplete sends
$qstring = "SELECT name FROM suburbs WHERE name LIKE '%".$term."%'";
//query the database for entries containing the term
$result = mysql_query($qstring);
//loop through the retrieved values
while ($row = mysql_fetch_array($result,MYSQL_ASSOC))
{ $row['name']=htmlentities(stripslashes($row['name']));
$row['postcode']=htmlentities(stripslashes($row['postcode']));
$row_set[] = $row['name'];//build an array
}
echo json_encode($row_set);//format the array into json data
mysql_close($con);
?>
我發現thse鏈接可能是最有幫助的:
http://www.simonbattersby.com/blog/jquery-ui-autocomplete-with-a-remote-database-and-php/ (這讓我開始)
http://www.jensbits.com/2010/05/29/using-jquery-autocomplete-to-populate-another-autocomplete-asp-net-coldfusion-and-php-examples/(這是最接近我的問題,雖然它填充的郵政編碼或郵政編碼場與基於狀態的選擇範圍郵編,而不是基於單個郵政編碼一個郊區/城市)。
任何幫助表示讚賞。 謝謝你, 安德魯
謝謝..仍然讓我的腦海裏的東西.. –
嗯,重要的是,雖然你的AJAX調用自動完成*必須*返回'ID'和'值',你不僅限於這些屬性。我還返回'state'和'postcode',以更改其他表單元素。 – RET