Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用ajax将值从php选择选项发送到另一个php页面?_Javascript_Php_Html_Ajax_Web - Fatal编程技术网

Javascript 如何使用ajax将值从php选择选项发送到另一个php页面?

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

我正在创建一个有两个选择菜单的网站,第一个选择国家,第二个选择州,还有一个使用ajax进行实时搜索的搜索栏。 状态菜单是从某个php文件填充的,因为我使用ajax将所选国家发送给它

我想要的是使用ajax将所选选项的ID从“州”菜单发送到另一个php页面,这样,如果我选择阿拉巴马州并单击搜索栏,开始键入阿拉巴马州某个城市的一些字母,它只推荐阿拉巴马州的城市

以下是我的ajax代码:

<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 &nbsp;&nbsp; </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时,它就工作了