简单的AJAX下拉列表2

时间:2011-11-10 15:20:00

标签: php javascript ajax

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

<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>

3 个答案:

答案 0 :(得分:2)

<option> 

需要有价值

<option value="test">

答案 1 :(得分:1)

问题出现了,因为你在ajax调用中进行了自引用而没有考虑回发。此外,初始页面加载将抛出未定义的索引错误,因为selected集合中不存在$_GET密钥。

位于test.php文件的顶部:

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

然后在你的例子中删除你的回声。

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

答案 2 :(得分:0)

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

如果您有undefinex index for GET,则表示数组$_GET不包含名为selected的键。 selected来自哪里?
如果它来自您提供给我们的JavaScript,那么它应该是select。 (另外,不建议使用关键字select命名select。)