Javascript 如何使用ajax将值从php选择选项发送到另一个php页面?
我正在创建一个有两个选择菜单的网站,第一个选择国家,第二个选择州,还有一个使用ajax进行实时搜索的搜索栏。 状态菜单是从某个php文件填充的,因为我使用ajax将所选国家发送给它 我想要的是使用ajax将所选选项的ID从“州”菜单发送到另一个php页面,这样,如果我选择阿拉巴马州并单击搜索栏,开始键入阿拉巴马州某个城市的一些字母,它只推荐阿拉巴马州的城市 以下是我的ajax代码:Javascript 如何使用ajax将值从php选择选项发送到另一个php页面?,javascript,php,html,ajax,web,Javascript,Php,Html,Ajax,Web,我正在创建一个有两个选择菜单的网站,第一个选择国家,第二个选择州,还有一个使用ajax进行实时搜索的搜索栏。 状态菜单是从某个php文件填充的,因为我使用ajax将所选国家发送给它 我想要的是使用ajax将所选选项的ID从“州”菜单发送到另一个php页面,这样,如果我选择阿拉巴马州并单击搜索栏,开始键入阿拉巴马州某个城市的一些字母,它只推荐阿拉巴马州的城市 以下是我的ajax代码: <script> function getCity(val){ //var
<script>
function getCity(val){
//var vall = document.getElementById('gadget').value;
$.ajax({
type: "POST",
url: "ajax/city.php",
data:'q='+$(this).val(),
success: function(data){
$("#suggesstion-box").show();
$("#suggesstion-box").html(data);
$("#search-box").css("background","#FFF");
}
});
}
</script>
这是州菜单:
<select class="form-control" id="txtHint" style="width:120%;" onchange="getCity(this.value)">
<option value="-1"> Select State </option>
</select>
下面是AJAX文件中的代码:
<?php
if (!empty($_POST["q"])) {
if(!empty($_POST["keyword"])) {
$query ="SELECT `city`,`state_code` FROM `cities` WHERE `S_code` = '".$_POST["q"]."' AND `city` LIKE '" . $_POST["keyword"] . "%' ORDER BY city LIMIT 0,6";
$result = mysql_query($query) ;
if(!empty($result)) {
?>
<ul id="country-list">
<?php
while($row = mysql_fetch_array($result)) {
?>
<li onClick="selectCountry('<?php echo $row["city"]; ?>');"><?php echo $row["city"]." ,".$row["state_code"]; ?></li>
<?php
}
?>
</ul>
<?php
}
}
}
?>
q值似乎是空的请用以下方式尝试ajax代码:
<script>
function getCity(val){
//var vall = document.getElementById('gadget').value;
$.ajax({
type: "POST",
url: "ajax/city.php",
data:{q:val},
success: function(data){
$("#suggesstion-box").show();
$("#suggesstion-box").html(data);
$("#search-box").css("background","#FFF");
}
});
}
</script>
必须使用数据:'q='+val,因为$this.val在函数中不可访问
<script>
function getCity(val){
//var vall = document.getElementById('gadget').value;
$.ajax({
type: "POST",
url: "ajax/city.php",
data:'q='+val,
success: function(data){
$("#suggesstion-box").show();
$("#suggesstion-box").html(data);
$("#search-box").css("background","#FFF");
}
});
}
</script>
<script>
function getCity(val){
$.ajax({
type: "POST",
url: "ajax/city.php",
data:'q='+document.getElementById('txtHint').value,
success: function(data){
$("#suggesstion-box").show();
$("#suggesstion-box").html(data);
$("#search-box").css("background","#FFF");
}
});
}
</script>
或者像这样使用值
<script>
function getCity(val){
//var vall = document.getElementById('gadget').value;
$.ajax({
type: "POST",
url: "ajax/city.php",
data:'q='+val,
success: function(data){
$("#suggesstion-box").show();
$("#suggesstion-box").html(data);
$("#search-box").css("background","#FFF");
}
});
}
</script>
<script>
function getCity(val){
$.ajax({
type: "POST",
url: "ajax/city.php",
data:'q='+document.getElementById('txtHint').value,
success: function(data){
$("#suggesstion-box").show();
$("#suggesstion-box").html(data);
$("#search-box").css("background","#FFF");
}
});
}
</script>
为什么要从php连接li元素?它应该是对的吗?不,因为这些将出现在搜索栏下的suggessions中没有发生任何事情,我猜问题出在php文件中,因为当我回显$_POST[q];我在未定义的索引q中得到了一个错误,当我在SQL本身中替换它时,我删除了$u POST[q]并放入1,例如,它没有发生任何事情,我猜问题出在php文件中,因为当我回显$u POST[q];我在未定义的索引q中得到一个错误,当我在SQL本身中替换它时,例如,当我删除$u POST[q]并放入1时,它就工作了