Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌自动完成文本框?_Javascript_Jquery_Autocomplete_Jquery Ui Autocomplete - Fatal编程技术网

Javascript 谷歌自动完成文本框?

Javascript 谷歌自动完成文本框?,javascript,jquery,autocomplete,jquery-ui-autocomplete,Javascript,Jquery,Autocomplete,Jquery Ui Autocomplete,我想在一个文本框中显示所有谷歌搜索自动完成。 搜索google后,我发现“”链接返回一个xml数据,其中包含10个google搜索结果。 显示此xml值的jQuery代码是: $(window).ready(function(){ $( "#textbox" ).keypress = showSuggest(); }); function showSuggest() { $.ajax({ type: "GET", url: "http://goog

我想在一个文本框中显示所有谷歌搜索自动完成。 搜索google后,我发现“”链接返回一个xml数据,其中包含10个google搜索结果。 显示此xml值的jQuery代码是:

$(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()
});
现在输入文本时,只显示文本框左侧的进度图像,仍然不显示suggets。 请帮忙

新更新

我用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
    });
}
$(“#文本框”).keypress(函数(){
var数据=[];
var parser=新的DOMParser();
var xml=parser.parseFromString(“http://google.com/complete/search?output=toolbar&q=“+$(“#new-tag-post_tag”).val(),“application/xml”);
xml.domain=“google.com”;
建议=getElementsByTagName(“完成建议”);
for(var i=0;i<0.length;i++){
数据推送(建议[i]);
}
$(“#文本框”).autocomplete({
资料来源:数据
});
}

您的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。

什么是console.log(xml);是否显示xml包含类似控制台的内容。使用C#编写?您不应该将整个文本框值放在查询中,这没有意义,只有键入的最后几个字母,从空格或非字母字符开始。由于I更新代码,这将不起作用。请帮助我。
$(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
                 });
            });


        }
    });
}