ページの読み込み時にデータベースからデータを読み取り、お気に入りの住所などのユーザー固有のデータをページの選択ボックスに入力するjqueryモバイルアプリがあります。うまく機能する選択されたオプションを削除する ajax スクリプトを実装しました。しかし、ページをリロードせずに選択ボックスを更新する方法を見つける必要があります。AJAX が必要な方法だと思いますが、どこから始めればよいかわかりません。データベースを読み取るphpファイルと、返されたデータを取得して選択ボックスに入力するjavascriptを再実行する必要があると思います。
index.php (前編)
<?php
$show_faves_pass=true;
$show_faves_cctr=true;
include('../includes/favourites.inc');
?>
お気に入り株式会社
$js_str='';
if ($show_faves_addr){
// Postgres sql statement here
$addr_json=json_encode($addr_rows);
$js_str.="var fave_addresses=$addr_json;\n";
}
if ($show_faves_cctr){
// Postgres sql statement here
$cctr_json=json_encode($cctr_rows);
$js_str.="var fave_costcentres=$cctr_json;\n";
}
if (strlen($js_str)>0){
echo "<script type='text/javascript'>\n$js_str\n</script>\n";
}
index.php (後編)
//populate favourites pickers
function findFave(arr,key,val){
var found=null;
$.each(arr,function(i,v){
if (v[key]==val){
found=v;
}
});
return found;
}
var pass_fave_sel=$('select#pass_fave_picker');
$.each(fave_passengers,function(i,fave){
pass_fave_sel.append("<option value='"+fave.passenger_details_id+"'>"+fave.passenger_nickname.replace("'","\'")+"</option>");
});
var cctr_fave_sel=$('select#cctr_fave_picker');
$.each(fave_costcentres,function(i,fave){
cctr_fave_sel.append("<option value='"+fave.cost_centre_id+"'>"+(fave.cost_centre_code+" ("+fave.cost_centre_nickname+")").replace("'","\'")+"</option>");
});
うまくいけば、これがすべて理にかなっています。どんな助けでも大歓迎です。よろしくお願いします!