簡體   English   中英

jQuery UI自動完成顯示所有數據

[英]Jquery UI autocomplete show all data

我正在使用使用JSON解析的JQuery的自動完成小部件,但不起作用,顯示所有json數據。

請幫我

這是我的腳本:

$(function() {    
    $( "#test2" ).autocomplete({
        source: function( request, response ) {
            $.ajax({
                url: "http://some_link/folder/file.json",
                dataType: "json",
                data: {terms: request.term},
                success: function( data ) {
                    response( $.map( data, function( item ) {
                        return {
                            label: item.city+' ('+item.country_name+'), '+item.currency,
                            value: item.city
                        }
                    }));
                }
            });
        },
        minLength: 2,


    });
});

這是json

[{"country_name":"DENMARK","city":"Aalborg","currency":"EUR"},{"country_name":"DENMARK","city":"Aarhus","currency":"EUR"}]

這是HTML

<div class="form-box">
    <center><label style="color:white;">City <small>*</small></label></center>
    <input type="text" class="text" id="test2" placeholder="Your City">
  </div><!-- End Box -->

請幫忙 !

TNX

似乎您沒有將過濾器應用於請求的json文件。 您正在獲取整個文件。 我目前假設您提到的json文件是一個純json文件(意味着,它沒有創建它的服務器端代碼)。

您可以做兩件事:a)修改$.map return函數,以便刪除所有不滿足過濾條件的值(即,您可以刪除不包含給定文本一部分的城市)。 為了找到符合您條件的值,可以使用this這樣簡單的方法。

或b)您可以使用某些服務器語言(例如PHP,Java,C#等)創建JSOn服務器端,然后在此處讀取您在$.ajax處傳遞dataterms參數,並通過執行過濾服務器端。 然后,您只需要返回實際符合條件的值即可。

暫無
暫無

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

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