我有php页面。
在该页面上,有选择城市的下拉列表。这些城市正在从数据库中出现。
在该下拉菜单旁边,我有按钮添加更多城市。单击该按钮后,会出现一个弹出窗口(颜色框(,其中我有添加新城市的表格。
现在我想要的是,当我在该弹出窗口中添加城市时,该城市也必须在关闭该弹出框后出现在该城市下拉列表中。
我尝试使用Ajax,Ajax给了我回应。
每当我添加新城市时。那个城市被添加,我在那个回应中得到了那个城市和其他城市。
但是我无法将该成功数据发送到其他PHP页面。
我该怎么做?
这是将请求发送到其他页面并获取所有城市(已添加的城市和最近添加的城市(的函数,但是我可以将该响应发送到我想使用此ajax调用响应填充该城市下拉列表的其他页面。
function executeQuery() {
$.ajax({
url: '<?php echo WEB_URL; ?>pages/reload_fields.php?chk=vessel',
success:function(result)
{
$("<?php echo WEB_URL; ?>pages/add_report_entry.php#refreshPG").html(result);
}
});
setTimeout(executeQuery, 5000); // you could choose not to continue on failure...
}
为什么需要运行 AJAX 钩子来填充下拉列表?为什么不直接调用函数并循环遍历结果:
<select>
<?php
$cities = function_that_returns_cities();
foreach ($cities as $city) {
?>
<option><?php echo $cities['name']; ?></option>
<?php } ?>
</select>
例如,像这样的东西。
多种场景,但如果你真的想用 Ajax 重新加载选择......
- 将要刷新的带有该下拉列表的部分放在 php 文件中,在弹出窗口结束时使用 Ajax 重新加载它$("#dropdown"(.load("newlist.php"(;
在颜色框的关闭事件中,使用另一个 ajax 调用获取 json 格式的城市并将其填充到该选择框中。
$(".callbacks"(.colorbox({
onClosed: function() {
$.ajax({
url: 'getcities.php',
type: 'POST',
data: 'q=' + str,
dataType: 'json',
success: function(json) {
$.each(json, function(i, value) {
$('#myselect').append($('<option>').text(value).attr('value', value));
});
}
});
}
}(;