Zend Framework 中是否有一种方法可以根据在前一个组合框中选择的值填充组合框,但在同一页面上?
就我而言,我有一个用于域的组合框和一个用于专业化的组合框。如果我在第一个组合框(域)中选择信息学,我想用一个专业化填充第二个组合 - “信息学”。但是如果我在第一个中选择数学,我想用两个专业来填充第二个:“数学”和“数学与信息学”。
谢谢!索林
Zend Framework 中是否有一种方法可以根据在前一个组合框中选择的值填充组合框,但在同一页面上?
就我而言,我有一个用于域的组合框和一个用于专业化的组合框。如果我在第一个组合框(域)中选择信息学,我想用一个专业化填充第二个组合 - “信息学”。但是如果我在第一个中选择数学,我想用两个专业来填充第二个:“数学”和“数学与信息学”。
谢谢!索林
如果您在服务器的数据库中拥有域和专业化之间关系的数据。您可以将更改事件的侦听器附加到您的域组合框,并通过使用 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 来检索您的域的规范,查看此处以获取有关如何将发布请求发送到 zend 操作的示例。
我使用了一个非常简单的解决方案:根据所选的域,我在一个页面上设置了选择域的选项,并在另一个页面上设置了选择专业化的选项。