Объединить несколько полей для отображения в автозаполнении с использованием AJAX в cakephp - PullRequest
0 голосов
/ 09 октября 2011

В настоящее время мое автозаполнение работает при отображении имени пользователя, но я хочу объединить имя, фамилию и т. Д. Как мне добиться этого в следующем коде?

<script type="text/javascript">
    $(function() {
        $(".suggest").autocomplete({
            source: function( request, response ) {
                $.ajax({
                    url: '<?php echo $this->Html->url(array('controller' => 'searches', 'action' => 'suggestUser')); ?>',
                    dataType: "json",
                    data: {
                        //request.term is the value of the current textbox.
                        term: request.term
                    },
                    success: function( data ) {
                        response( $.map( data, function( item ) {
                            return {
                                label: item.User.firstName,
                                value: item.User.firstName

                            }
                        }));
                    }
                });
            },
            minLength : 1
        });
    });

В моем контроллере следующие коды ниже - моя логика для поиска этого поля.

function suggestUser() {

        if (isset($_GET["term"])) {
            $term = $_GET["term"];

            $result = $this->User->find('all', array(
                'conditions' => array(
                    'User.firstName LIKE' => $term . '%'
                ),
                'fields' => array(
                    'firstName'
                )
                    ));
            if ($term) {
                $this->set('results', $result);
                $this->view = 'Json';
                $this->set('json', 'results');
            }
        }
    }

Ответы [ 2 ]

0 голосов
/ 10 октября 2011

Это действительно просто, я понял. Мне удалось это решить.

  label: item.User.firstName + " " + item.User.lastName,
  value: item.User.firstName + " " + item.User.lastName

Вам также необходимо добавить поле lastName в.

'fields' => array(
                    'firstName',
                    'lastName',
                )
0 голосов
/ 09 октября 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...