在Symfony2 form builder中动态加载信息
我和Symfony2一起工作。表单生成器中有两个字段,当我在第一个字段中选择一个选项时,第二个字段中的信息应根据第一个选项动态重新加载在Symfony2 form builder中动态加载信息,symfony,formbuilder,Symfony,Formbuilder,我和Symfony2一起工作。表单生成器中有两个字段,当我在第一个字段中选择一个选项时,第二个字段中的信息应根据第一个选项动态重新加载 我怎么做?我们需要什么? 让我们假设,为了简单起见,当用户输入'knock-knock'时,下一个字段将填充'who's there' 假设第一个字段(用户将填充)的id为#input_filled_by_user,另一个字段的id为#input_filled_with_php 我们如何解决这个问题? 只要用户将在脚本执行后键入,我们就需要一些信息来告诉我们,他
我怎么做?我们需要什么? 让我们假设,为了简单起见,当用户输入'knock-knock'时,下一个字段将填充'who's there' 假设第一个字段(用户将填充)的id为
#input_filled_by_user
,另一个字段的id为#input_filled_with_php
我们如何解决这个问题?
只要用户将在脚本执行后键入,我们就需要一些信息来告诉我们,他在或case“knock-knock”(即jQuery)中编写了特定的单词,并将其发送给控制器(restapi的一个别致名称)
然后在控制器中处理并返回结果,然后使用jQuery(再次)将结果输出给用户
代码
首先,我们需要一个路由器:
my_door_keeper_router:
pattern: /request/{string}
defaults: { _controller: AcmeDemoBundle:door:keeper, _format: ~ }
requirements:
_method: GET
id: "\d+"
这是动作控制器:
public function keeperAction($string)
{
if ($string == 'knock knock') {
echo "hello"; // please dont do it with echo use symfony way , i just dont have enough time
}
return;
}
现在使用jQuery:
$('#input_filled_by_user').change(
function(){
$.get('/request', { string: $(this).val() } ,function(data) {
$('#input_filled_with_php').val(data);
alert('Load was performed.');
});
}
)
就这样。希望这是有意义的(请深入挖掘,我试着用虚拟的方式解释它,我提到的一些事情有一半是正确的,但无论你现在尝试做什么,你都可以这样做)。你可以用ajax(Jquery)来做这件事,向某个控制器发出ajax请求并让它返回信息。。用jquery填充该字段。。这就是它是如何做到的(我不认为有任何其他的方式),如果你想它是动态的,请阅读更多的感谢codiez,但我是一个初学者在Symfony 2,你能解释它更多请。你好。回答得好,但我们的问答形式确实非常重视演示文稿。所以,如果你能用一些大写字母,我将不胜感激!