symfony - заполнение нескольких выпадающих списков выбора (AJAX) - ОБНОВЛЕНО - PullRequest
0 голосов
/ 27 апреля 2011

У меня есть форма с 2 полями, которые являются списками выбора.

Мне нужно выбрать опцию из select_list_1, которая затем заполняет select_list_2

В моем шаблоне есть следующее:

<script type="text/javascript">
$(document).ready(function() {
  $('select#sf_guard_user_profile_corp_id').change(function() {
    $.ajax({
      url: "updateAreaManager?corp_id=" + this.value,
      dataType: "text/html",
      success: (function(data) {
        $('select#sf_guard_user_profile_area_manager_id').html(data);
      })
    });
  });
});
</script>

Это вызывает метод executeUpdateAreaManager, который в настоящее время просто:

public function executeUpdateAreaManager(sfWebRequest $request)
{
   $id = $request->getParameter('corp_id');
}

Может ли кто-нибудь помочь мне получить нужные мне данные во второй список выбора?

Спасибо

1 Ответ

0 голосов
/ 27 апреля 2011

Я предполагаю, что, поскольку к вашему действию передается corp_id, вы пытаетесь получить список менеджеров на основе значения corp_id.

В своем действии вы можете запросить базу данных, чтобы получить набор результатов, выполнив что-то вроде:

$q = Doctrine_Query::create()->from('Manager m')->innerJoin('m.Corps c')->where('c.id=', $id);
$results = $q->execute();

Затем вы можете передать результаты в свой JavaScript, как выхочу.Я предлагаю прямой HTML на этом этапе.Ваш код будет выглядеть примерно так (все еще в вашем файле action.class.php):

echo "<p>Hi, I came from an action.</p>";
return true; 

На этом этапе ваш javascript должен отображать этот HTML на вашей странице.Заставьте его генерировать то, что вам нужно, принимая HTML-форму в вашем случае.

...