gpt4 book ai didi

php - jQuery/ajax 的 Html 表单选择问题

转载 作者:行者123 更新时间:2023-11-29 13:57:40 25 4
gpt4 key购买 nike

我有一个 html 表单,其中下拉列表中的国家/地区来自数据库。如果用户选择任何国家/地区,则将根据所选国家/地区显示城市下拉列表。

如果用户错误地输入了表单的任何字段(此表单中还有其他字段),则国家/地区下拉列表将记住用户最初选择的国家/地区,但会清除城市,将其重置为 --选择城市--。我正在尝试选择城市名称,但无法选择。有什么想法吗?

此处为 HTML 表单:

<tr>
<td>PAYS <span style="color: #FF0000;">*</span></td>
<td>
<select name="country" class="country">
<option value="">Select</option>

<?php
$sql=mysql_query("select * from country");
while($row=mysql_fetch_array($sql))
{
$id=$row['Code'];
$data=$row['Name'];
$data = mb_convert_encoding($data, 'UTF-8');
if($id == $_POST['country'])
{
$sel = 'selected="selected"';
}
else
{
$sel = "";
}

echo '<option value="'.$id.'"' . $sel . '>'.$data.'</option>';
}
?>
</select>
</td>
</tr>

<tr>
<td>City</td>
<td>
<select class="city" name="city">
<option selected="selected" value="">--Select City--</option>
</select>
</td>
</tr>

Ajax 代码在这里:

<script type="text/javascript" src="http://ajax.googleapis.com/
ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".country").change(function()
{
var id=$(this).val();
var dataString = 'id='+ id;

$.ajax({
type: "POST",
url: "ajax_city.php",
data: dataString,
cache: false,
success: function(html)
{
$(".city").html(html);
}
});

});
});
</script>

ajax_city.php 此处

<?php
require_once("toplevel/content/database/databd.php");
if($_POST['id'])
{
$id=$_POST['id'];
$sql=mysql_query("select Name from cities WHERE CountryCode ='$id'");
while($row=mysql_fetch_array($sql))
{
$id=$row['Code'];
$data=$row['Name'];
if($_POST['city'] == $data)
{
$sel = 'selected = "selected"';
}
else
{
$sel = " ";
}
echo '<option value="'.$data.'" ' .$sel . ' >'.$data.'</option>';
}
}
?>

最佳答案

因为,在 AJAX 请求中,您将数据定义为 POST,并且在需要 JSON 映射的情况下提供 GET 数据样式。在这种情况下,您的 PHP 脚本将永远不会收到预期的 ID,并且什么也不会发生。

尝试这样:

$(document).ready(function () {
$(".country").change(function () {
var myId = $(this).val();

$.ajax({
type: "POST",
url: "ajax_city.php",
data:{id : myId},
cache: false,
success: function (html) {
$(".city").html(html);
},
error : function(jqXHR, textStatus, errorThrown) {
alert('An error occurred!')
}
});

});
});

关于php - jQuery/ajax 的 Html 表单选择问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15585244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com