简单的AJAX下拉列表

时间:2011-11-10 13:58:23

标签: javascript ajax

我有这个ajax代码用于获取当前选择,因此我可以稍后使用php GET调用数据库。 Firebug错误:

  

缺失)参数列表 - “成功”:函数(数据){

有什么想法吗?

<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(
            "file.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>

4 个答案:

答案 0 :(得分:1)

$.ajax({
  url: "test.html",
  context: document.body,
  success: function(){
    $(this).addClass("done");
  }
});

答案 1 :(得分:1)

您应该以这种方式编写ajax函数:

$.ajax({
  url: "file.php?selected=" + $(this).val(),
  success: function(data) {
      $("#results").html(data);
  }
});

答案 2 :(得分:0)

您在"file.php?selected=" + $(this).val(),之前缺少'url'属性名称:

    $.ajax({
        url:"file.php?selected=" + $(this).val(), //note the property name 'url'
        "success":function(data){
            $("#results").html(data);
        }
    })

答案 3 :(得分:0)

以下是使用您已有语法的答案:

$(document).ready(function(){
    $("#select").change(function(){
        $.ajax(
            "file.php?selected=" + $(this).val(),{
               success:function(data){
                   $("#results").html(data);
            }}
        );
    });
});

您确实可以将URL作为AJAX调用的第一个参数传递。您只是缺少围绕调用的成功回调部分创建JSON对象。