使用的语言/软件/技术:PHP、MySQL、WordPress、Javascript、jQuery(最新)。
我在一个页面上有两个选择元素——一个用于州,一个用于城市。
state 元素通过 Ajax 调用从数据库中检索可用状态的函数填充到 document.ready。city 元素通过 Ajax 调用 state 元素更改事件填充,基于所选州的可用城市,同样来自数据库。
我正在尝试学习如何缓存(也许不是正确的术语)请求,以便在离开已经选择的状态后重新选择的情况下,可用的城市仍然存在。例如,当我第一次选择一个选项时,我选择了 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);
}
});
}
在上面的代码中,状态是两个字母的代码,从状态元素更改事件传递到其他地方。此 ajax 调用调用的 PHP 函数使用 state 参数处理 select 语句。