简单的AJAX下拉菜单2

simple AJAX dropdown 2

本文关键字:下拉菜单 AJAX 简单      更新时间:2023-09-26

Ok,这段代码现在似乎正在工作(ajax获得当前选择)。但我现在有另一个问题。当我使用php $_GET方法(用于以后的数据库搜索)时,输出不仅仅是下拉选择的单词,而且还生成另一个下拉菜单。还有WAMP错误- GET的未定义索引。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $("#select").change(function(){
        $.ajax({
                url: "test.php?selected=" +$(this).val(),
                success:function(data){
                    $("#results").html(data);
                }
            }
        )
    })
});
</script>
<select id="select">
<option> something </option>
<option> something2 </option>
<option> something3 </option>
</select>
<?php
echo $_GET['selected'];
?>
<div id="results"></div>
<option> 

需要有value

<option value="test">

出现这个问题是因为您在ajax调用中使用了自引用而没有考虑回发。此外,初始页面加载将抛出未定义索引错误,因为selected键不存在于$_GET集合中。

在你的test.php文件的顶部:

<?php
    if(array_key_exists('selected', $_GET))
    {
        echo $_GET['selected'];
        die();
    }
?>

然后在你的例子中删除你的echo。

注意,这是,只有才能使您的示例正常工作并显示它失败的原因。没有给出一个格式良好的AJAX请求示例。

echo $_GET['selected'];应该显示什么?
你能给我们一些PHP代码吗?

如果你有一个undefinex index for GET,这意味着数组$_GET不包含名为selected的键。selected从何而来?
如果它来自你给我们的JavaScript,那么它应该是select代替。(另外,不建议使用关键字select来命名select。)