разбирать данные json для автозаполнения jquery ui

0

У меня есть ответ json, как показано ниже.

{"total":2,"data":[
            {"0":{"id":11,"name":"apple","image":"apple.png","description":"apple","status":1,"application_on":null,"created_at":"0000-00-00 00:00:00","updated_at":"1995-04-05 06:11:54",
        "fname":"apple","lname":"","profile_image":"<img src=\"\/pac\/public\/images\/brands\/60_60\/apple.png\"  \/>"},
            "1":{"id":16,"name":"chapstick","image":"chapstick.png","description":"chapstick","status":1,"application_on":null,"created_at":"0000-00-00 00:00:00","updated_at":"0000-00-00 00:00:00",
        "fname":"chapstick","lname":"","profile_image":"<img src=\"\/pac\/public\/images\/brands\/60_60\/chapstick.png\"  \/>"},"length":2}]}

Как я могу повторить это и вынуть fname из этого? Заранее спасибо.

Я использую следующий код для автозаполнения

$(".textfield1").autocomplete({
        source: function(request, response) {
            $.ajax({
                url: "<?php echo $this->baseUrl('admin/ajax/global-search/') ?>",
                data: {q: request.term, },
                dataType: "json",
                success: function(data) {
                    response($.map(data, function(item) {
                        return {
                            value: item
                        };
                    }));
                }
            });
        }
    });

Но он отображает "0", obj etcc..

Теги:

2 ответа

1
Лучший ответ

Вот тело для вашей функции success():

var a = [];
for ( var i in data.data  ) {
    for ( var j in data.data[i]  ) {
        if ( 'undefined' !== typeof data.data[i][j].fname ) {
            a.push(data.data[i][j].fname);
        }
    }
}
response(a);
  • 0
    Дай мне попробовать, спасибо
0

Попробуйте изменить:

response($.map(data, function(item, index) {
    return {
        value: item[index.toString()]
    };
}));
  • 0
    Не работающий человек

Ещё вопросы

Сообщество Overcoder
Наверх
Меню