【发布时间】:2015-08-02 03:36:01
【问题描述】:
在我的 Symfony 项目中,当我从“员工”下拉列表中选择员工时,我需要从另一个下拉列表中获取默认值,即员工所在的“部门”。
已经从数据库中填充了下拉列表,员工和部门。
我在 Symfony 中有一个表单,我可以在其中手动选择员工和部门。
如何在从下拉列表中选择员工姓名时获得员工的默认部门?
在我的 FormType.php 文件中:
class CommMemberType extends AbstractType
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('employee','entity', array(
'label' => 'Employee Name',
'empty_value' => ' ',
'class' => 'CompanyBundle:Employee',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('e')
->orderBy('e.fname', 'ASC');
},
)
)
->add('dept', 'entity', array(
'label' => 'Department',
'empty_value' => '---Select Department---',
'required' => true,
'class' => 'CompanyBundle:Lookup\Dept',
'property' => 'meaning',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('dept')
->orderBy('dept.meaning', 'ASC');
},
));
我还有一个 jQuery 代码,我只测试了 console.log 部分:
$(document).ready(function() {
$('body .employee').on('change', function(){
var id = $(this).val();
console.log(id);
$.post('{{ emp_jquery }}', { 'employee': id },function(data){
$('.dept').html(data);
},"text");
})
});
你能帮我一把吗?非常感谢!
【问题讨论】:
-
您最好从表单开始:symfony.com/doc/current/book/forms.html。您应该将您的类(带有“attr”)添加到“选择”输入并在前面设置样式。
-
我已经建立了一个表单,其中我已经有两个下拉列表。表格工作正常。我阅读了该文档,但找不到我的问题的答案。
-
到目前为止你尝试过什么?请分享您的代码并编写更详细的说明,“我们”会尽力帮助您。
-
我刚刚添加了我为解决问题而编写的代码。感谢您的帮助!
-
据我了解,每个员工都属于一个部门,你想默认显示。我说的对吗?