使用 ajax 用 SQL 填充下拉列表
Using ajax to populate dropdown with SQL
所以我对ajax比较陌生,但我对正在发生的事情有一个想法。我有一个注册表,它使用数据库中的ajax更新"国家,城市和地区"的字段。
php看起来像这样
<select disabled name="City" id="City<?php $template->the_instance(); ?>" >
<?php
global $wpdb;
$results = $wpdb -> get_results("SELECT Distinct City FROM Location WHERE Country = '".$selected_country."'");
foreach ($results as $row)
{
echo "<option value='"$row->City'">" . $row->City. "</option>";
}
echo "</select>";
?>
java脚本看起来像这样
$("#Country").change (function(){
var selected_country = $('#Country option:selected').val();
if (selected_country !=''){
$('#City').prop('disabled', false);
}
else {
$('#City').prop('disabled', 'disabled');
}
$.ajax({
url: ajax_object.ajaxurl,
type : 'post',
data : {
action : 'fetch_city',
selected_country: selected_country
}
})
})
如果我更改将请求发送到myform的"url".php,则下拉列表的结果不会使用实际的数据库结果进行更新。我的猜测是我错过了一步。
附言我还没有使用"动作",因为我不确定它是否有帮助。我确实将其添加到函数.php文件中并动态挂钩。
希望这是有道理的
您的 $.ajax 调用缺少成功函数,例如
success: function(data) {
$('#City').html(data);
}
但是,要获得所需的结果,您必须从数据库查询中返回适当的json_encoded结果。
代码的某些部分丢失或损坏?例如,$selected_country从哪里来?您可能也没有任何带有 id 'City' 的元素,因为您要将 $template->the_instance() 中的任何内容附加到其中。
你也从不处理来自Ajax请求的响应。
相关文章:
- 无法使用国家/地区选择中的状态动态填充下拉列表
- 通过使用AngularJs进行分组来填充下拉列表
- 如何填充下拉列表,从javascript中的另一个下拉列表中排除任何一个选项
- 使用 MySQL 条目填充下拉列表
- 如何使用其他下拉列表中未选择的选项填充下拉列表
- 使用jquery动态填充下拉列表
- 在AngularJS中动态填充下拉列表
- 使用数据库返回的数据动态填充下拉列表
- 设置 AJAX 调用和填充下拉列表
- 使用 ajax 和 JSP Servlet 根据选择的上一个下拉列表填充下拉列表
- 在 JavaScript 中使用 MySQL 数据库中的数据填充下拉列表
- 如何在 jQuery 中用 JSON 数据填充下拉列表作为 ajax 响应
- 使用 ajax 用 SQL 填充下拉列表
- 如何使用 JavaScript 中的值填充下拉列表
- 如何在信息窗口中填充下拉列表(谷歌地图API v3)
- 从 Javascript 和 Java 返回的数组中填充下拉列表
- 使用 AJAX 和 ORACLE 以及不使用 php 填充下拉列表(选择 )
- 单击第一项时重新填充下拉列表
- 尝试使用 jquery 和 ajax 填充下拉列表
- 如何使用 javascript 清空下拉列表后重新填充下拉列表