从下拉列表中搜索并建议关键字

时间:2016-05-10 10:30:38

标签: javascript php search search-suggestion

我正在使用php& JavaScript的。我已经为下拉菜单编写了代码。现在我想写一个代码,我在文本框中输入单词&它会从下拉列表中提出这个词。就像我进入' abc'在文本框中,它会将所有结果以' abc'开头。从下拉。请提供我在php或javascript中的正确代码......这将符合我的条件。谢谢。下面是一个下拉代码。我想要搜索&建议代码。

<label>Site Name:</label>
<select id="combobox">
 <option value=""></option>
 <option value="volvo">Volvo</option>
 <option value="saab">Saab</option>
 <option value="fiat">Fiat</option>
 <option value="audi">Audi</option>
</select>   
<input type="submit" name="submit" value="submit"/> 

1 个答案:

答案 0 :(得分:2)

也许datalist元素可以提供帮助

<form action="action_page.php">
   <input list="browsers">
   <datalist id="browsers">
     <option value="Internet Explorer">
     <option value="Firefox">
     <option value="Chrome">
     <option value="Opera">
     <option value="Safari">
   </datalist> 
</form>

取自:http://www.w3schools.com/html/html_form_elements.asp

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist

编辑:

如果你只是想要一个javascript解决方案: 添加:

<input type="text" id="search" onkeyup="change()" />

var e = document.getElementById("combobox");
var t = document.getElementById("search");
function change() {
    var ts = t.value.toLowerCase();
    if (ts.length < 1) {
        e.selectedIndex = 0;
        return;
    }
    for (var i = 0; i < e.options.length; i++) {
        var es = e.options[i].text.toLowerCase();
        if (es.lastIndexOf(ts, 0) === 0) {
            e.selectedIndex = e.options[i].index;
            return;
        }
    }
    e.selectedIndex = 0;
}