オートコンプリートが機能していますが、変更をどのように処理すればよいですか?
ユーザーが元の選択を変更するとどうなりますか? リストが選択されると、他のフィールドが入力されるオートコンプリートがあります。ユーザーがリストを選択し、それを新しいものに変更しようとすると (DB 内の何も一致しません)、他のフィールドはクリアする必要があります。
別の質問方法: 「新しい」リストをどのように処理しますか?
以下の私のコード
$(function() {
$( "#oName" ).autocomplete({
source: "include/organizerList.php",
minLength: 3,
select: function( event, ui ) {
$("input#oID").val(ui.item.oID);
$("input#oCID").val(ui.item.oCID);
$("div#organCity").text(ui.item.oCity);
$("div#organCountry").text(ui.item.oCountry);
}
});
});
オーガナイザーリスト.php
// important to set header with charset
header('Content-Type: text/html; charset=utf-8');
$term = htmlspecialchars(strtolower($_GET["term"]));
$return = array();
$query = mssql_query("SELECT CID, oID, oName, oCity, oCountry FROM TradeShowDB_Organizers WHERE oName LIKE '%$term%'");
while ($row = mssql_fetch_array($query)) {
array_push($return,array( 'oCID'=>$row['CID'], 'oID'=>$row['oID'], 'label'=>$row['oName'] . ', ' . $row['oCity'], 'value'=>$row['oName'], 'oCity'=>$row['oCity'], 'oCountry'=>$row['oCountry'] ));
}
// encode it to json format
echo(json_encode($return));
私のhtml:
<input type="text" tabindex='20' id="oName" name="oName" size="60" maxlength="200" value="<?php echo $oName; ?>">
<div id='organCity'></div>
<div id='organCountry'></div>
<input type="hidden" id="oID" name="oID" value="<?php echo $oID; ?>">
<input type="hidden" id="oCID" name="oCID" value="<?php echo $oCID; ?>">