2012-07-12 35 views
1

我正在使用jquery-ui-autocomplete從我的mysql數據庫成功檢索一個字段,但我需要從用戶的選擇列表中,從數據庫中重新選擇,並通常從數據庫中檢索到的地址填寫多個表單。我如何使用jquery-ui-1.8.21.autocomplete填充表單並從mysql中獲取數據

這裏是我到目前爲止工作的代碼,但我不知道該怎麼繼續下去,讓我需要的結果。情況是這樣的 - 我有一個INPUT字段,填充從DB中檢索的郵政編碼。用戶然後選擇一個郵政編碼,並從該選擇我需要從數據庫中的所有地址填充個別表單。

我的HTML文件:

$(document).ready(function() { 
       $("#autocomplete").autocomplete({ 
        autoFocus: true, 
        source: "search.php", 
        minLength: 2, //search after two characters 
        select: function(event, ui){ 
         //do something 
         } 
        }); 
      }); 

<body> 
    <input id="autocomplete" type="text" name="autocomplete" /> 
</body> 

我的search.php文件:

// DB connection is done here 

$term = trim(strip_tags($_GET['term']));//retrieve the search term that autocomplete sends 

$qstring = "SELECT DISTINCT zipcode FROM table WHERE zipcode LIKE '%".$term."%' ORDER BY zipcode ASC"; 
$result = mysql_query($qstring); //query the database for entries containing the term 

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) //loop through the retrieved values 
{ 
$row['zipcode'] = htmlentities(stripslashes($row['zipcode'])); 
$row['id'] = (int)$row['id']; 
$row_set[] = $row['zipcode']; //build an array 
} 

echo json_encode($row_set); //format the array into json data 

我使用DISTINCT在我的課程的查詢,以消除多個相同的郵政編碼。

謝謝你的幫助! Robert

回答

0

聽起來像你想使用ajax。它將以執行自動填充搜索的相同方式執行搜索。只要進行了自動完成選擇,'select'事件就會運行。如果用戶在不使用自動填充的情況下鍵入完整的郵政編碼,我不相信它會觸發。 'change'事件在離開該字段時觸發。直到用戶離開自動填充字段後纔會觸發。關於Ajax

select: function(event, ui){ 

    $.ajax({ 
     url: "otherSearch.php", 
     type: "POST", 
     data: { input1 : input1, 
       input2 : input2 }, 
     success: function(data) { 

      //parse returned data and fill in the forms 

      }); 
     } 
    } 
} 

更多信息:http://api.jquery.com/jQuery.ajax/

相關問題