0

我正在实现一个搜索表单,它会在您开始输入时显示建议但无法使其正常工作..问题是当您开始输入时它不会显示任何建议。你能帮我把代码弄对吗?非常感谢!

这是代码:

<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>
<div><input id="autocomplete" type="text"></div>




<script>
$("input#autocomplete").autocomplete({
source: [ 
{ id : "Google", value : "Google"},
{ id : "Yahoo", value : "Yahoo"},
],
minLength: 1,
open: function(event, ui) { 
$("ul.ui-autocomplete").unbind("click");
var data = $(this).data("autocomplete");
console.log(data);
for(var i=0; i<=data.options.source.length-1;i++)
{
                                    var s = data.options.source[i];
                                    $("li.ui-menu-item a:contains(" + s.value + ")").attr("href", "/" + s.id);
                                  }

                                } 

    });

    /*
    $("input#autocomplete").bind("autocompleteselect", function(event, ui) { 
        //alert(ui.item.id + ' - ' +  ui.item.value); 
        //document.location.href = ui.item.id + '/' + ui.item.value;
        //event.preventDefault; 
        } );
    */
    </script>
4

1 回答 1

0

这是代码:

<div id="search">
  <input list="results" id="project" onkeydown="if (event.keyCode == 13) { checkInput(this.value); return false; }" />
</div>

可用的结果...

<datalist id="results">
  <option>Demo</option>    
  <option>Example</option>
  <option>pizza</option>
</datalist>

最后是javascript

function checkInput(searchQuery)
{
if(searchQuery=="Home")
{
    window.location = "Home.html";
}
else if(searchQuery == "Contact")
{
    window.location = "Contact.html";
}
else if(searchQuery == "Sitemap")
{
    window.location = "Sitemap.html";
}
else
{
    window.location = "noresult.html";
}
}

因此,当有人去搜索时,他们在预填充列表中的选项数量有限,而他们选择的任何一个选项都会将他们引导到您的目标页面!我不能接受所有的功劳,但我希望这会有所帮助!

于 2014-01-20T13:46:41.340 回答