首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个依赖域的Symfony2形式

具有多个依赖域的Symfony2形式
EN

Stack Overflow用户
提问于 2015-08-18 02:30:54
回答 1查看 1.1K关注 0票数 0

我正在创建一个具有以下格式的注册。

如果国家发生变化,那么我需要相应地更改子字段。

1-国家城市郊区

在我公司的分公司实体里,我把郊区的钥匙存为一个多。公司分公司位于哪个郊区。

如果我改变了公司集团,那么它就应该改变孩子的。

2-公司集团公司

在我公司的分公司实体中,我将公司密钥保存为外键。一种-多种关系。公司有多个分支机构,一个分公司只属于一家公司。

3-分支机构地址(案文)

4-其他一些文本字段。

问题:如何实现嵌入式表单、集合或简单的Ajax调用。

我已经尝试过相依形式教程,但是我有两个依赖项。国家和公司集团。对我来说,很难在我的项目中描绘出这些东西。如果有人提供详细的描述,如何做到这一点。那太好了。谢谢,

EN

回答 1

Stack Overflow用户

发布于 2015-08-18 08:34:05

在我看来,实现这一目标的最佳方法是将您的子字段设置为“禁用”,为每个字段设置一个空值,并将一个jQuery侦听器附加到每个父下拉列表。

这样,您就可以通过对控制器的ajax调用获得子字段的值,该控制器将返回一个JSON数组。

例如,您的第一个父/子元素是"Country“和”State“:

代码语言:javascript
复制
<select name="country_list">
    <option value="1">USA</option>
</select>

<select name="states_list">
    <option value="0">-- empty value --</option>
</select>

那么您的jQuery应该是这样的:

代码语言:javascript
复制
$("#country_list").change(function() {
    var countryId = $('#country_list').val();
    var callUrl = 'CONTROLLER URL TO CALL';

    // make your ajax call here
    $.ajax({
       url : callUrl,
       type : 'GET',
       dataType : 'json',
       success : function(response){
                     // populate the child list with the JSON values
                     $.each(response,function(key, value) {
                         $('#states_list').append('<option value=' + key + '>' + value + '</option>');
                     });

                     // enable the child list 
                     $('#states_list').prop('disabled', false);
                 }
    });
});

当然,控制器应该返回一个JSON数组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32062618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档