好的,这段代码现在似乎正在运行(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>
答案 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
。)