2012-12-30 2 views
0

Вчера я задал вопрос на этом форуме о том, как обновить список выпадающих списков HTML (select-list) в зависимости от другого выпадающего списка. К сожалению, для некоторых пользователей это было непонятно. Но не проблема, я узнал, как он работает. Итак, давайте начнем со сценария, я загрузил его в pastebin: http://pastebin.com/sFhbPAFjИспользуйте скрипт для обновления выпадающего списка

Какая у меня цель?

В первой папке вниз (lecturer_id) У меня есть имена преподавателей и там идентификаторы. Эта информация поступает из базы данных PostgreSQL. В качестве примера, вариант, как список может быть:

X

Второй список должен содержать курсы лекции учит. Другой пример:

Математика

Этой информация также поступает из базы данных, но она должна быть динамичной. Например, если я выбираю учителя Y, вторым списком должны быть обновления с другими курсами.

Проблема в том, что я не знаю, как я мог передать эти данные из моего приложения PHP в сценарий выше, а с другой стороны, я не знаю, как я мог бы получить lecturer_id из сценария jQuery в мой PHP-код. (Мне нужен этот идентификатор, чтобы заполнить список курсами)

Надеюсь, на этот раз мой вопрос ясен.

+1

Я бы Рекомендуем [jsFiddle] (http://jsfiddle.net/) для обмена кодами. – SeinopSys

ответ

0

Вы можете использовать функцию jQuery ajax для вызова базы данных с идентификатором учителя, чтобы получить курсы и обновить второе раскрывающееся меню.

Btw user jQuery для всех ваших javascript. insted из использования for вы можете использовать jQuery each.

2

лучший в использовании AJAX. Что-то вроде:

$("#teacher_select").change(function(){ 
id = $(this).val(); 
$.ajax({ 
       type: "GET", 
       url: "some.php/?id=" + id, // perform a query for all courses taught by this teacher and return html 
       success: function(data){ 
          $("#course_select").html(data); 
          } 
      }); 
}); 

Вы также можете вернуть объект JSON и сделать переход к HTML на стороне клиента (т.е. в success функции), в этом случае не забудьте добавить dataType:"json".

EDIT: для получения курсов первого учителя по нагрузке, просто использовать один и тот же запрос AJAX ответ на onload событие - или в JQuery $(document).ready(); - который поможет вам курсы выбранного учителя

+0

Спасибо, это действительно простое решение. Я предпочитаю делать это с помощью json в качестве выходного формата. Я проверю, как это работает :-) –

+0

У меня это работает так, как должно. Единственное, что я не могу узнать, это загрузить его по умолчанию? Я имею в виду, теперь мой список с курсами пуст, пока не будет использовано первое раскрывающееся меню. Но я бы хотел, чтобы второй список был заполнен курсами в начале. (так, курсы первого преподавателя в списке) –

+0

См. мое редактирование – Matanya

Смежные вопросы