2017-10-16 126 views
0

的jQuery:的jQuery UI的自动完成数据未显示

function search($id, $column) { 
    $("#" + $id).autocomplete({ 
    source: function(request, response) { 
     jQuery.post("<?php echo base_url().'index.php/Auto_complete/item_search'?>", { 
     Query: request.term, 
     column: $column 
     }, function(data) { 
     response(data); 
     }); 
    } 
    }); 
} 

HTML:

<input type="text" class="form-control English_name" id="English_name" name="English_name" placeholder="Enter Item Name (English)" onchange="product_name()" onkeyup="search('English_name', 'English_name')" autocomplete="off"> 

AJAX输出:

["Styler King 6 Card Holder (Set of 1, Khaki)","ds 18 sticker","famous sticker","wx sticker","lk small sticker","LX Sticker"] 

任何人都可以请帮我为什么数据没有显示和如何我可以在jQuery UI自动完成中显示数据吗?

回答

0

目前还不清楚你试图用你的代码来完成什么。

这里是你可能会发现有用的例子:

https://jsfiddle.net/Twisty/t1ruyg11/

的JavaScript现在

var myData = [ 
    "Styler King 6 Card Holder (Set of 1, Khaki)", 
    "ds 18 sticker", 
    "famous sticker", 
    "wx sticker", 
    "lk small sticker", 
    "LX Sticker" 
]; 

$(function() { 
    $("#English_name").autocomplete({ 
    source: function(req, resp) { 
     $.post("/echo/json/", { 
     json: JSON.stringify(myData) 
     }, function(data) { 
     resp($.ui.autocomplete.filter(data, req.term)); 
     }); 
    } 
    }); 
}); 

,考虑你的代码,你可能会想尝试像下面这样的东西:

function search(t, c){ 
    var url = "<?php echo base_url().'index.php/Auto_complete/item_search'; ?>"; 
    var query = { 
    Query: t.trim(), 
    column: c 
    }; 
    $.post(url, query, function(results){ 
    if(results.length){ 
     return results; 
    } else { 
     return []; 
    } 
    }); 
} 

$(function(){ 
    $("#English_name").autocomplete({ 
    source: function(request, response){ 
     response(search(request.term), $column); 
    } 
    }); 
});