在Zend Framework中是否有办法根据前一个组合框中选择的值填充组合框,但是在同一页上?
在我的情况下,我有一个用于域的组合框和一个用于专业化的组合框。如果我在第一个组合框(域)中选择信息学,我想用一个专业化 - “信息学”填充第二个。但如果我在第一篇中选择数学,我想用第二篇专业来填补数学:“数学”和“数学与信息学”。
谢谢! 索林
答案 0 :(得分:0)
如果您的服务器中的数据库中存在域与专业化之间的关系数据。您可以将更改事件上的侦听器附加到域组合框,并通过使用ajax发布请求检索所选域的特化来相应地填充第二个组合框:
这是一个使用jquery的例子:
$(".domain").change(function()
{
var domainId=$(this).val();
var dataString = 'domainId='+ domainId;
$.ajax
({
type: "POST",
url: baseurl+"getSpecialisations",
data: dataString,
cache: false,
success: function(html)
{
$(".specialisation").html(html);
}
});
});
并在您的控制器中创建一个动作getSpecialisationsAction,它将检索您的域的规范,请查看here以获取如何将发布请求发送到zend操作的示例。
答案 1 :(得分:0)
我使用了一个非常简单的解决方案:我已选择在一个页面上选择域,并根据所选域选择在另一个页面上选择专业化。