私は、顧客を選択して、対応する顧客の詳細をデータベースから取得できるページを作成しようとしています。次のようになります。
<select id="select_customer">
<option value='1'>customer 1</option>
<option value='1'>customer 2</option>
</select>
public function getCustomerDetails($customerId) {
if(isset($customerId)) {
$customer = DB::getInstance()->query("select * from customers");
foreach($customer->results() as $customer) {
$str = "<li>{$customer->name}</li>";
$str .= "<li>{$customer->name_contactperson}</li>";
$str .= "<li>{$customer->email}</li>";
$str .= "<li>{$customer->address} {$customer->house_number}</li>";
$str .= "<li>{$customer->postalcode}</li>";
$str .= "<li>{$customer->city}</li>";
$str .= "<li>{$customer->country}</li>";
}
return $str;
}
return false;
}
私が今やりたいことは、select_customerから値を取得し、これをajaxでgetCustomerDetailsメソッドに投稿し、ページをリロードせずに対応する詳細を取得することです。ajax と xAjax で動作させようとしましたが、動作させることができませんでした。
私はこれを試しました:
<?php include 'xajaxAIO.inc.php';
$xajax = new xajax();
$xajax->register(XAJAX_FUNCTION, 'getCustomers');
$xajax->processRequest(); ?>
<input type="button" onclick="xajax_getCustomerDetails(1);" value="Click Me" />
私が試した他のことはこれでした:
<script>
document.getElementById('select_customer').addEventListener('change', function() {
var $userId = this.value;
$.ajax({
type: "POST",
url: "classes/invoice.php",
data: "getCustomerDetails("+$userId+")"
})
});
</script>
コンソールにエラー メッセージは表示されませんが、要求された関数が実行されないようです。
これを機能させる方法を教えてくれる人はいますか?
前もって感謝します!