簡體   English   中英

解析JSON數據以進行jQuery UI自動完成

[英]parse json data for jquery ui autocomplete

我有一個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等。

這是您的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);

嘗試更改為:

response($.map(data, function(item, index) {
    return {
        value: item[index.toString()]
    };
}));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM