Google автозаполнение в текстовом поле?

0

Я хочу показать все автоматические поисковые запросы в текстовом поле. После поиска google я нашел ссылку " http://google.com/complete/search?output=toolbar&q=test ", которая возвращает данные xml, содержит десять поисковых предложений google. Мой код jQuery для отображения этих значений xml:

$(window).ready(function(){
    $( "#textbox" ).keypress = showSuggest();
});
function showSuggest() {
    $.ajax({
        type: "GET",
        url: "http://google.com/complete/search?output=toolbar&q=" + $("#textbox").val(),
        dataType: "xml",
        var data = [];
        success: function(xml) {
            $(xml).find('CompleteSuggestion').each(function(){
            data.push($(this).find('suggestion')[0].attr('data'));
        });
        }
    });
    $( "#textbox" ).autocomplete({
        source: data
    });
}

jquery-1.9.1.js и jquery-ui-1.10.3 были импортированы, но этот код не работает. Извините за мой плохой английский. Благодарю.

ОБНОВИТЬ

Спасибо всем. я редактирую свой код и удаляю часть чтения xml и заменяю

url: "http://google.com/complete/search?output=toolbar&q=" + $("#textbox").val()
$("#textbox").autocomplete({
   source: data
});

с этим:

$( "#textbox" ).autocomplete({
source: "http://suggestqueries.google.com/complete/search?client=firefox&q=" + $( "#textbox" ).val()
});

теперь при вводе текста отображается только изображение прогресса в левой части текстового поля и до сих пор не отображается предложение. пожалуйста помоги.

НОВОЕ ОБНОВЛЕНИЕ

Я пишу новый код с firefox DOMParser, но все еще не работаю.

    $("#textbox").keypress(function() {
    var data = [];
    var parser = new DOMParser();
    var xml = parser.parseFromString("http://google.com/complete/search?output=toolbar&q=" + $("#new-tag-post_tag").val(), "application/xml");
    xml.domain = "google.com";
    suggests = getElementsByTagName("CompleteSuggestion");
    for (var i = 0; i < suggests.length; i++) {
        data.push(suggests[i]);
    }
    $( "#textbox" ).autocomplete({
        source: data
    });
}
Теги:
autocomplete
jquery-ui-autocomplete

2 ответа

1
$(document).ready(function(){
    $( "#textbox" ).keypress(showSuggest);
});                

function showSuggest() {

    // Declare the variable here, not inside the $.ajax code
    var data = [];

    $.ajax({
        type: "GET",
        url: "http://google.com/complete/search?output=toolbar&q=" + $("#textbox").val(),
        dataType: "xml",            
        success: function (xml) {
            $(xml).find('CompleteSuggestion').each(function () {
                data.push($(this).find('suggestion')[0].attr('data'));                
                 $("#textbox").autocomplete({
                   source: data
                 });
            });


        }
    });
}
0

ваш синтаксис javascript неверен. Это может сработать:

$(document).ready(function() {

    $("#textbox").on("keypress", showSuggest);
});
function showSuggest() {
    var data = [];
    $.ajax({
        type: "GET",
        url: "http://google.com/complete/search?output=toolbar&q=" + $("#textbox").val(),
        dataType: "xml",
        success: function(xml) {
            console.log(xml);
            $(xml).find('CompleteSuggestion').each(function(){
              data.push($(this).find('suggestion')[0].attr('data'));
            });
            $( "#textbox" ).autocomplete({ source: data});
        }
    });
}

в любом случае я рекомендую вам изучить JavaScript до начала программирования.

  • 0
    Я программист Windows, и я новичок в изучении JavaScript.
  • 0
    Что такое console.log (xml); сделать это шоу XML содержит как Console.Write в C #?
Показать ещё 1 комментарий

Ещё вопросы

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