1
私は、ajax呼び出しを設定して、ユーザーの選択オプションを入力しようとしています。Symfony Component Form Exception TransformationFailedException
3 /検証フォームが
Unable to reverse value for property path "zone":
The choice "13e Arrondissement" does not exist or is not unique
にformTypeを渡しません:
1 /あなただけの罰金までのゾーンで表示されます
すべての作業を場所
2 /新しいドロップダウンを選択します。
public function buildForm(FormBuilderInterface $builder, array $options)
{
//...
->add('location', EntityType::class, ['class' => 'PagesBundle:City'])
->add('zone', CoreType\ChoiceType::class, ['choices_as_values' => true, 'mapped' => false]);
$builder->get('zone')->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
$form = $event->getForm()->getParent();
$data = $event->getData();
$city[$data] = $data;
$form->add('zone', CoreType\ChoiceType::class, ['choices' => $city,'choices_as_values' => true]);
//...
私のAjax:
$("document").ready(function() {
$('#zone').addClass('uk-hidden');
$("#cityName").change(function() {
var city = $("#owner_location option:selected").text();
$.ajax({
type: 'GET',
url: 'http://locavip.dev/app_dev.php/owner/city/' + city,
beforeSend: function(){
$('#owner_zone option').remove();
},
success: function(data) {
$.each(data.zone, function(index, value){
$('#zone').removeClass('uk-hidden');
$("#owner_zone").append($('<option>', { value : value, text: value }));
});
}
});
}); });
AjaxController:私は解決策を見つけた