2011-04-27 159 views
0

我有一个窗体,有2个字段,是选择列表。symfony - 填充多个下拉选择列表(AJAX) - 更新

我需要从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'); 
} 

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

感谢

回答

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。您的代码将ressemble这样的事情(仍然在你的action.class.php文件):

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

在这一点上,你的JavaScript应显示该HTML页面上。让它产生你所想的,假设你的案例中有一个HTML表单。

+0

我的主要问题是将值传递到第二个选择列表,因为模板是一个'_form.php'部分。 – 2011-04-28 08:02:13

+0

有谁知道我怎样将值传递回'_form.php'部分并填充第二个下拉列表? – 2011-04-28 12:47:21