простой выпадающий список AJAX

#javascript #ajax

#javascript #ajax

Вопрос:

У меня есть этот ajax-код для получения текущего выбора, чтобы позже я мог вызвать database с помощью 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>
  

Комментарии:

1. В вашем коде синтаксическая ошибка $.ajax({ url:»file.php?selected=» $(this).val(), «success»:функция (данные){ $(«#results»).html(данные); } )

Ответ №1:

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

Ответ №2:

Вы должны написать функцию ajax таким образом:

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

Ответ №3:

Вам не хватает имени свойства ‘url’ перед "file.php?selected=" $(this).val(), :

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

Комментарии:

1. Это все еще синтаксически недопустимо.

2. @LinusKleen — может ли ваш комментарий быть менее полезным? Вместо того, чтобы просто говорить «Неправильно!», почему бы еще немного не потренировать пальцы и не указать, что в этом не так, например, «у вас отсутствуют фигурные скобки!» Это было бы полезно не только для будущих пользователей, которые обратятся к этому вопросу, это было бы полезно для OP, потому что у него также отсутствуют эти фигурные скобки.

3. Не нужно так волноваться. Считайте это упражнением для читателя. Удален понижающий голос.

Ответ №4:

Вот ответ, использующий синтаксис, который у вас уже есть:

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

Вы действительно можете передать URL в качестве первого аргумента вызова AJAX. Вам просто не хватало создания объекта JSON вокруг части успешного обратного вызова.