2016-10-18 5 views
1

Я использую функцию автозаполнения для автоматического suggetion и я использую остальные апите URL в качестве источника данных, но это предлагая все метки, например, если я введу I поэтому он должен показывать только то, что этикетки, которые содержат I, но она отображает все метки, даже когда я печатаю любое ключевое слово, он показывает все метки здесь мой ввод текстаавтозаполнение из апи отдыха

<input type="text" id="name" /> 
<input type="text" id="value" /> 

вот мой Java-скрипт и JQuery

$(function(){ 
$("#name").autocomplete({ 
source:"http://localhost:8080/JsonRestfull/countries", 
dataType: "json", 
select: function (event, ui) { 
$("#name").val(ui.item.label); 
$("#value").val(ui.item.value); 
return false; 
} 
}); 
}); 

и http://localhost:8080/JsonRestfull/countries содержат следующие данные

[{"label":"IND","value":"India"},{"label":"CHN","value":"China"},{"label":"NEP","value":"Nepal"},{"label":"BHU","value":"Bhutan"}] 
+0

в качестве источника вместо 'HTTP: // локальный: 8080/JsonRestfull/когда я' стран дать все значения непосредственно, то он работает правильно, но я хочу использовать этот отдых URL –

ответ

0

Я думаю, вам нужно что-то вроде этого:

$(function(){ 
$.getJSON("http://localhost:8080/JsonRestfull/countries", function(data) { 
    $("#name").autocomplete({ 
    source: data  
     }); 
    }); 
}); 

Я надеюсь, это поможет.

+0

я просто скопировать код и вставьте его вместо моего кода, но он не производит никакого аутсорсинга. Я очень новичок в jquery, пожалуйста, помогите –

+0

У меня есть ответ на ответ @AmitSinghBhardwaj Можете ли вы проверить и подтвердить один раз? – gschambial

+0

теперь его показывает коробку Suggestetion, но когда я набираю ** I **, он отображает всю метку вместо IND, которую я получаю от своего кода, а также когда я нажимаю любую подсказку, она отображает значение в том же текстовом поле –

0

Вам необходимо использовать вызов ajax.

$(function(){ 
    $("#name").autocomplete({ 
     source :function(request, response) { 
     $.ajax({ 
      url: "http://localhost:8080/JsonRestfull/countries", 
      dataType: "json", 
      data: { 
       q: request.term 
      }, 
      success: function(data) { 
       response($.map(data, function(item) { 
        return { 
         label : item.label, 
         value : item.value 
        }; 
       })); 
      } 
     }); 
     }, 
     select: function (event, ui) { 
      $("#name").val(ui.item.label); 
      $("#value").val(ui.item.value); 
      return false; 
     } 
    }); 
}); 
+0

Я сделал то же самое, но он производит тот же результат, что я получаю от своего кода, когда я набираю i вместо IND, он предлагает все четыре метки –

+0

@AlexandruMihai. Я ошибочно отредактировал ваш ответ. Вы можете вернуть его? – gschambial

+0

@gschambial, я не вижу, что вы изменили. –

Смежные вопросы