symfony 表单在输入 type="choice" 上使用 jquery 更改方法

Posted

技术标签:

【中文标题】symfony 表单在输入 type="choice" 上使用 jquery 更改方法【英文标题】:symfony form use jquery change method on input type="choice" 【发布时间】:2016-01-05 00:39:00 【问题描述】:

我有 symfony type="choice" 创建的单选按钮。 当我尝试使用 jquery 更改方法选择其中一个时尝试做某事时,什么也没有发生。 我的代码中的相关部分: 形式:

$builder->add('budgetLevel', 'choice', array(
        'label'    => 'Budget level',
        'required' => true,
        'multiple' => false,
        'expanded' => true,
        'choices'  => array('option1' => 'option1', 'option2' => 'option2', 'option3' => 'option3'),
        'widget_type'  => "inline"
    ));
 $builder->add('budgetEntity', 'text', array(
        'label'    => 'Budget Entity',
        'required' => false,

    ));

jquery:

$(document).ready(function()
...
$("#cbg_budgetLevel").change(function()
            alert("something");
);
... 
);

html(带树枝):

              <div id="budgetLevel">
                <div class="row">
                    <div class="col-md-3">
                         form_label(form.budgetLevel) 
                    </div>
                    <div class="col-md-3">
                         form_label(form.budgetEntity) 
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-3">
                         form_widget(form.budgetLevel) 
                    </div>
                    <div class="col-md-3">
                         form_widget(form.budgetEntity) 
                    </div>
                </div>
             </div>

我希望当我选择警报将显示的选项之一时。 为什么它不起作用?

【问题讨论】:

【参考方案1】:

它看到 symfony 将表单域转换为单选按钮。 这个答案很好地处理了单选按钮: How to use radio on change event?

无论如何,这可能会改变: 在 jquery 部分:

 $('input[type=radio][name="cbg[budgetLevel]"]').change(function()
            if(this.value == 'option1')
                //do option1 ...
            
            else if(this.value == 'option2')
                //do option2...
            
            else
                //do option3...
            
        );

【讨论】:

以上是关于symfony 表单在输入 type="choice" 上使用 jquery 更改方法的主要内容,如果未能解决你的问题,请参考以下文章

在移动设备上,如何让“输入”在 type="number" 输入中提交表单?

如何正确验证表单中带有 symfony json 约束的学说类型“json”?

Symfony @Assert\Type("string") 验证通过整数值

发送输入 type="radio" 的表单

从 Symfony2 中的控制器访问集合表单字段

前端表单交互