使用されている言語/ソフトウェア/テクノロジー:PHP、MySQL、WordPress、Javascript、jQuery(最新)。
ページに2つの選択要素があります。1つは州用、もう1つは都市用です。
状態要素は、データベースから使用可能な状態を取得する関数へのAjax呼び出しによってdocument.readyに入力されます。city要素は、データベースから選択された状態で使用可能な都市に基づいて、状態要素変更イベントのAjax呼び出しを介して入力されます。
私は、リクエストをキャッシュする方法(おそらく適切な用語ではない)を学習しようとしています。これにより、選択済みの状態が離れた後に再選択された場合に、利用可能な都市が維持されます。たとえば、初めて選択肢を選ぶときは、NCを選びます。私が選ぶ次の選択肢はニューヨークです。その後、ノースカロライナに戻ります。現在、NCに戻った後、ajax呼び出しが再度行われます。あまり多くのクエリがスローされないように、結果を保存したいと思います。
どんな提案も歓迎します、私はまだ掘っています!ありがとう。
function get_cities(state){
$.ajax({
type:'POST',
data:{action:'generate_city_inputs', state:state},
cache: true,
dataType: 'json',
async:false,
url: "<?php echo site_url().'/wp-admin/admin-ajax.php'; ?>",
success: function(value) {
cityhtml = '';
for (var i = 0; i < value.length; i++) {
cityhtml += "<option value=\"";
cityhtml += value[i][0] + "\">";
cityhtml += value[i][0] + "</option>";
}
$("select#search-city").empty().append(cityhtml);
}
});
}
上記のコードでは、状態は2文字のコードであり、状態要素の変更イベントから別の場所に渡されます。このajax呼び出しによって呼び出されるPHP関数は、stateパラメーターを使用してselectステートメントを処理します。