美文网首页
页面内有一个input输入框,实现在数组arr查询命中词并要求a

页面内有一个input输入框,实现在数组arr查询命中词并要求a

作者: glory_前端 | 来源:发表于2018-12-24 17:10 被阅读0次
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        *{
    margin: 0;
    padding: 0;
    box-sizing:border-box;

}
#div1{
    margin:200px auto;
    position: relative;
}

ul{
    list-style: none;
    margin: 0 auto;
    background-color: #ededed;
    color: #3b200c;
    width: 400px;
    border: none;
}

li{
    cursor: pointer;
}

input{
    display: block;
    margin: 0 auto;
    line-height: 40px;
    height: 40px;
    width: 400px;
    font-size: 20px;
    background-color: #ede387;
    border: none;
}

    </style>
</head>

<body>
    <div id="div1">
        <input type="text" id="input" placeholder="有autocomplete的输入框" />
        <ul id="ul">
        </ul>
    </div>
</body>
<script>
    var arr = ['a', 'apple', 'abandon', 'bilibili', 'beep', 'before', 'become', 'being', 'highmaintains', 'by', 'bye', 'banana']

    input.addEventListener('input', function (event) {

        var _value = event.target.value.trim()

        if (_value) {

            autoComplete(_value, arr)
        }

        else {

            ul.innerHTML = ''
        }

    })


    function autoComplete(str, arr) {

        var lis = []

        arr.forEach((word) => {

            if (word.startsWith(str)) {

                lis.push('<li>' + word + '</li>')
            }
        })

        ul.innerHTML = lis.join('')
    }

    function addToInput(li) {

        var _txt = li.innerText

        input.value = _txt
    }

    ul.addEventListener('click', function (event) {

        if (event.target.tagName.toLowerCase() === 'li') {

            addToInput(event.target)
        }
    })

</script>

</html>

相关文章

  • 页面内有一个input输入框,实现在数组arr查询命中词并要求a

  • 验证多个class相同的input框不为空

    要求,页面有多个class相同的input输入框,在提交数据的时候,进行验证,验证input框不能为空,如果哪个为...

  • 2021-11-24

    数组方法应用案例 案例要求 目标:通过顶部的输入框和按钮来筛选后端传送的数据并显示在页面上 案例分析 HTML部分...

  • 小程序键盘的自动弹出和收起

    我们在进入某个页面时,希望可以定位到某一个Input输入框中,并且实现软键盘自动弹出,在小程序中如何实现呢? 自动...

  • 2018-03-02

    测试移动端页面的时候,偶然发现点击底部input输入框时,弹出的虚拟键盘偶尔会挡住input输入框。 输入框固定在...

  • 点击底部input输入框,弹出的软键盘挡住input(苹果手机使

    测试移动端页面的时候,偶然发现点击底部input输入框时,弹出的虚拟键盘偶尔会挡住input输入框。 输入框固定在...

  • 07-25 js习题

    构造一个函数func(arr,x),使用sort()函数将给定的数组arr随机排序,并打印出该数组,以及变量x在该...

  • 2018-07-25

    构造一个函数func(arr,x),使用sort()函数将给定的数组arr随机排序,并打印出该数组,以及变量x在该...

  • 7.27练习

    构造一个函数func(arr,x),使用sort()函数将给定的数组arr随机排序,并打印出该数组,以及变量x在该...

  • 来道面试题

    给定一个数组arr和一个常数d,实现一个函数,计算出在数组arr中,所有距离为d的元素数的数量,并计算出函数执行的...

网友评论

      本文标题:页面内有一个input输入框,实现在数组arr查询命中词并要求a

      本文链接:https://www.haomeiwen.com/subject/etwzkqtx.html