symfony - 填充多个下拉选择列表(AJAX) - 更新

时间:2011-04-27 13:54:35

标签: javascript symfony1 symfony-1.4 symfony-forms

我有一个表单,有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 :(得分:0)

我猜测,因为你有一个corp_id传递给你的动作,你试图根据一个corp_id值得到一个Managers列表。

在您的操作中,您可以通过执行以下操作来查询数据库以获取结果集:

$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表单,使其生成您所需的内容。