我正在使用 Symfony2。我在表单构建器中有两个字段,当我在第一个字段中选择一个选项时,第二个字段中的信息应该根据第一个选项动态重新加载。
我该怎么做 ?
我正在使用 Symfony2。我在表单构建器中有两个字段,当我在第一个字段中选择一个选项时,第二个字段中的信息应该根据第一个选项动态重新加载。
我该怎么做 ?
我们需要什么?
假设为简单起见,当用户键入“敲敲”时,下一个字段将填充“谁在那里”。
假设第一个字段(用户将填写)的 id 为#input_filled_by_user
,另一个字段的 id 为#input_filled_with_php
.
我们如何解决这个问题?
只要用户将在脚本执行后打字,我们就需要告诉我们他用“knock knock”(即 jQuery)写的特定单词,并将其发送到控制器(一个花哨的名称休息API)。
然后在控制器中我们处理并发送回结果,并使用 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.');
});
}
)
就是这样。希望这是有道理的(请深入挖掘,我试图以虚拟的方式解释它,我提到的一些事情是正确的,但无论你现在想要做什么,你都可以这样做)。