Вы здесь

Как избавиться от кавычек при выборе автодополняемого значения?

0

В конструкторе формы есть элемент с автодополнением;

$form['client_details']['address']['address_1'] = [
        '#type' => 'textfield',
        '#title' => $this->t('Address #1'),
        '#maxlength' => 255,
        '#size' => 60,
        '#autocomplete_route_name' => 'like_order.autocomplete',
        '#attributes' => [
          'placeholder' => $this->t('Street & building'),
        ],
        '#weight' => 18,          
        '#required' => TRUE,
    ];

в соответствующем роуте подключается метод контроллера, вот он

public function autocomplete(request $request) {    
        try {            
            // do something to get values
            $array = $answer->suggestions;
            foreach ($array as $v) {
                // label appears in suggests list
                // value == input value
                $matches[] = ['value' => $v->value, 'label' => $v->value];                
            }            
            return new JsonResponse($matches);
        }
        catch (RequestException $e) {
            watchdog_exception('like_order', $e->getMessage());
        }
  }

в $array мои значения, я прохожусь по массиву, записываю значение и метку в $mathes, отдаю его создаваемому JsonResponse. Всё хорошо, только вот при выборе в браузере значения из списка полученных автодополнений, в инпуте значения обрамляется двойными кавычками. Как это побороть?

Кавычки добавляются где-то после, ибо JsonResponse, что value, что label кавычек не содержат.

 [content:protected] => [{"value":"\u041d\u0435\u0432\u0441\u043a\u0438\u0439 \u043f\u0440-\u043a\u0442, \u0434 111","label":"\u041d\u0435\u0432\u0441\u043a\u0438\u0439 \u043f\u0440-\u043a\u0442, \u0434 111"}]

\u041d\u0435\u0432\u0441\u043a\u0438\u0439 \u043f\u0440-\u043a\u0442, \u0434 111 == Невский пр-кт, д 111

Версия Drupal: 
8.x
Категория: 
AJAXForm API
Вопрос задан 10.03.2017 - 19:03

Выяснил, что появлению кавычек способствует запятая в $value
Подскажите, в какую сторону двигаться.

Комментарий оставлен 10.03.2017 - 20:02

Ответы