0

我有一个包含 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');
}

有人能帮我把我需要的数据放到第二个选择列表中吗?

谢谢

4

1 回答 1

0

我猜测,由于您将 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 表单,让它生成你需要的东西。

于 2011-04-27T19:44:07.823 回答