2013-04-14 47 views
0

我有下面的代码工作,但我还是需要一些帮助搞清楚如何使 自动完成输入部分搜索栏以及。jQuery的自动完成功能+搜索结果

第一我想我需要做一个表格,并使用提交得到的结果,但是从 我明白我可以简单地使用jQuery的“搜索”的方法/事件做和保存的麻烦 想了想,我未能得手

这里是我的了:

<div id="search"> 
    <input id="project" /> 
</div> 

为HTML

$("#project").autocomplete({ 
    minLength: 0, 
    source: projects, 
    focus: function(event, ui) { 
     $("#project").val(ui.item.label); 
     return false; 
    }, 
    select: function(event, ui) { 
     $("#project").val(ui.item.label); 
     $("#project-id").val(ui.item.value); 
     $("#project-description").html(ui.item.desc); 
     return false; 
    }, 
}) 
.data("ui-autocomplete")._renderItem = function(ul, item) { 
    return $("<li>") 
    .append("<a>" + item.label + "</a>") 
    .appendTo(ul); 
}; 

如jQuery的 我见过一些类似的问题,但我没有得到正确的答案 从我所做的自动完成列表是可见的,而键入单词 但我想要发生的是当用户按下输入键 所有这是在自动完成列表 结果将在页面的另一部分一定格中显示。

感谢您的帮助 (试图插入“搜索”,'域和其他一些方法 没有这些实现我的目标:()

+0

发现了一个简单而丑陋的解决方案 将发布时都会回答 – Despairy

回答

0

这里是代码:

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

的avaible结果...

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

最后的JavaScript

function checkInput(searchQuery) 
{ 
if(searchQuery=="Demo") 
{ 
    window.location = "Demo.html"; 
} 
else if(searchQuery == "Example") 
{ 
    window.location = "Example.html"; 
} 
else if(searchQuery == "Pizza") 
{ 
    window.location = "Pizza.html"; 
} 
else 
{ 
    window.location = "noresult.html"; 
} 
} 

这样的方式当过有人去搜索他们的选项预填充的列表有限,而且哪一方,他们选择这些导致你的目标页面!我不能拿出所有的功劳,但我希望这有助于!