javascript - 文本输入的自动完成识别输入的子字符串 - Javascript

标签 javascript jquery forms jquery-autocomplete

我在 javascript 中有以下代码:

    <form id="date_form" onsubmit="return displayDate();">
        <datalist id="dates">
            <select id="select">
                <option value='Team Cool'>Team Cool</option> 
                <option value='Team Awesome'>Project Awesome</option> 
            </select>
        </datalist>
        <input type="text" name="team" value="" id="team" list="dates">
        <input type="submit" class="submitButton" value="choose team">
    </form>

当用户试图在输入字段中输入内容时,如果他想看到“Team Cool”作为下拉选项,他必须以“Team”开始输入;他不能简单地键入“cool”并让“Team Cool”作为选项出现。

我如何获得它以便用户可以键入他想要的任何内容,并且如果输入与可用下拉选项的任何子字符串匹配,程序将提供下拉选项?换句话说,如果他输入“cool”或“ool”或“ol”,我希望程序提供“Team Cool”的下拉列表。

谢谢!

最佳答案

尝试在 jQuery 自动完成中进行一些自定义:

(function() {
    var manufacturers = ['Volkswagen', 'Audi', 'Mercedes', 'Skoda', 'Toyota', 'Renault', 'Volvo', 'Mazda'];

    $("#list").autocomplete({
        source: manufacturers
    });

    // Overrides the default autocomplete filter function to search only from the beginning of the string
    $.ui.autocomplete.filter = function (array, term) {
        var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(term), "i");
        return $.grep(array, function (value) {
            return matcher.test(value.label || value.value || value);
        });
    };
})();

关于javascript - 文本输入的自动完成识别输入的子字符串 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21725450/

相关文章:

javascript - 初学者很难使用简单的下拉菜单

javascript - 将辅助事件传递给嵌套点击事件? jQuery

android - 当固定位置的文本输入表单字段获得焦点时,如何防止疯狂滚动?

jquery - 如何检查以结尾的类(class)?

php - 显示带有 div php mysql jQuery 的链接

html - 隐藏 HTML 元素作为临时 bot 预防方法的推荐方法

javascript - 单击文本输入时清除单选按钮

javascript - 为什么 collection-item 在 collapsible 中不是垂直居中对齐的?

javascript - 如何用不同的字符替换出现的相同字符

javascript - 如何在新窗口中打开选择框中的链接?