私はJSでPHPを使用しています。テキストボックス内のアイテムのオートコンプリートを行っています。このテキスト ボックスでは、フリー テキストも有効になっています。このエントリがフリー テキストかどうかを確認する必要があります。つまり、入力されたテキスト ボックスの値が、コントローラーに渡されたアクションの出力によって取得された要素の 1 つと等しいかどうかを確認する必要があります。
これが私のJS(Jqueryオートコンプリート)コードです:
$("#txtVmVehicleNumber").autocomplete('/business_vehicle/getItems', {
minChars: 1,
matchContains: "word",
autoFill: true,
max:100,
multiple :false,
mustMatch : false,
});
ここでは、必要な一致が false として作成されていることがわかります。そのため、このエントリで自由なテキストをこのように作成できます。自由なテキストでタブを実行している場合、これは、この要素が配列にないことを示す必要があります。
ここに私のPHPコードがあります:
public function getItemsAction() {
$this->_helper->viewRenderer->setNoRender();
//Creating object for Request
$objRequest = $this->getRequest();
//take parameters from http request
$strSearchKey = $objRequest->getParam('q');
//Creating object Request
$objLib= new lib_Business_items();
$rstItems = $objLib->getItemsAutoComplete($strSearchKey);
if (count($rstItems) != 0) {
foreach ($rstItems as $objItems) {
echo $objItems->vchr_item . "\n";
}
}
}