如何用php和ajax动态创建两个下拉框
请帮我解决这个问题。基本上,我想创建两个相互通信的下拉菜单。第一个下拉菜单将包括美国各州。在用户选择一个州后,我希望其他菜单中的城市显示出来。我该怎么做(使用html、css、php和/或javascript)。我一直对$get(svalue)有问题。它发出错误通知:未定义索引:C:\xampp\htdocs\online\ajax-getvalues.php中的svalue,在第82行。任何帮助都将不胜感激 我的桌子看起来像这样 表德尔西蒂如何用php和ajax动态创建两个下拉框,php,jquery,ajax,get,dropdown,Php,Jquery,Ajax,Get,Dropdown,请帮我解决这个问题。基本上,我想创建两个相互通信的下拉菜单。第一个下拉菜单将包括美国各州。在用户选择一个州后,我希望其他菜单中的城市显示出来。我该怎么做(使用html、css、php和/或javascript)。我一直对$get(svalue)有问题。它发出错误通知:未定义索引:C:\xampp\htdocs\online\ajax-getvalues.php中的svalue,在第82行。任何帮助都将不胜感激 我的桌子看起来像这样 表德尔西蒂 city_id | cityname | s
city_id | cityname | svalue
_____________________________________
1 | Lagos | texas
____________________________________
2 | Abuja | Fct
_____________________________________
3 | Niger | mali
还有我的密码
<?php
$connection = mysqli_connect("localhost", "apple", "applebed", "gilmorewines");
//$selectvalue = mysql_real_escape_string($connection, $_GET['svalue']);
$selectvalue= mysql_real_escape_string( $_GET['svalue'],$connection );
mysqli_select_db($connection, "gilmorewines");
$result = mysqli_query($connection, "SELECT cityname FROM delcity WHERE 'svalue'='$selectvalue' ")or die(mysql_error());
echo '<option value="">Please select...</option>';
while($row = mysqli_fetch_array($result))
{
echo '<option value="'.$row['cityname'].'">' . $row['cityname'] . "</option>";
//echo $row['drink_type'] ."<br/>";
}
mysqli_free_result($result);
mysqli_close($connection);
?>
我找不到上述代码中使用的$\u get(svalue)
的可能重复项?您在php代码中没有使用id='list-target'->定义任何html元素,这就是为什么jQuery找不到具有该id的元素。另外,您可能不应该在stackoverflow上发布DB connect信息。另外,在将$\u GET变量传递到数据库时,您可能应该使用准备好的mySQL语句。
$(document).ready(function($) {
var list_target_id = 'list-target'; //first select list ID
var list_select_id = 'list-select'; //second select list ID
var initial_target_html = '<option value="">Please select a colour...</option>'; //Initial prompt for target select
$('#'+list_target_id).html(initial_target_html); //Give the target select the prompt option
$('#'+list_select_id).change(function(e) {
//Grab the chosen value on first select list change
var selectvalue = $(this).val();
//Display 'loading' status in the target select list
$('#'+list_target_id).html('<option value="">Loading...</option>');
if (selectvalue == "") {
//Display initial prompt in target select if blank value selected
$('#'+list_target_id).html(initial_target_html);
} else {
//Make AJAX request, using the selected value as the GET
$.ajax({url: 'ajax-getvalues.php?svalue='+selectvalue,
success: function(output) {
//alert(output);
$('#'+list_target_id).html(output);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " "+ thrownError);
}});
}
});
});
</script>