<select> Аякс звонки - PullRequest
       9

<select> Аякс звонки

1 голос
/ 23 января 2009

Я использую jQuery на своем сайте, у меня есть раздел обновлений для моего проекта, и у меня есть три раскрывающихся списка:

  • Завершена
  • Отработанные часы
  • Кто работал над этим проектом?

Я пытаюсь создать ajax-вызов, используя jQuery, чтобы, когда я выбираю его, вызывал $ .ajax () и отправлял данные на мою страницу php, чтобы обновить мою базу данных mysql.

Полагаю, я мог бы сделать это:

Получить данные в select и сохранить в переменной и отправить их в виде данных, используя $ .ajax, но я не уверен, как бы Я ЗАХВАТИЛ значение после того, как вы выбрали и затем запустили ajax?

Есть предложения?

Ответы [ 2 ]

1 голос
/ 23 января 2009

Как сказал FryGuy, метод $ .post - это, вероятно, ваш лучший выбор, хотя я бы изложил его так:

$("#project select").change(function(){ // use one selector for all 3 selects
    $.post("someurl.php",{
        // data to send
        completed: $("select#completed").val(),
        hours:     $("select#hours").val(),
        who:       $("select#who").val()
    }, function(data) {
        // do callback stuff with the server response 'data' here
    });
});

Это может быть не совсем то, что вы хотели, если три выбора происходят более одного раза на странице. Я бы рекомендовал прочитать документы jquery, чтобы получить представление о событиях. Что касается извлечения данных, вам просто нужно использовать селекторы и методы, такие как .text(), .val(), .html(), .attr() и т. Д. ... в том месте, где они вам нужны. Требуемая информация всегда находится где-то в DOM.

0 голосов
/ 23 января 2009

Я бы использовал jQuery post метод .. что-то вроде:

$.post("updater.php", { completed: variableWithCompletedFromSelect } );

Просто вызовите это в событии on change для select и передайте значение select. Тогда ваш php-скрипт будет иметь $ _POST ['complete'] с новым значением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...