使用input实现下拉框功能

木来 木来

之前在做这个博客的写文章功能时,心里冒出了这样一个需求:当对文章进行标签选择时,可以直接点击input,实现下拉框功能,选择已有的标签,如若需要给文章添加新的标签,则直接添加即可。

这个关键的技术点,就是如何使得input实现下拉框功能。

你无须引用任何的插件,这里我使用html5即可实现。

首先,展示一下效果图:

图片.png

火狐的展示图还是挺丑的,我再截一个360浏览器(谷歌浏览器最近让我卸载了)的展示效果图:

图片.png

那么,如何去实现呢?下面给出详细的步骤:

首先呢,我们需要在页面找一个地方写下以下代码:

<!-- 输入框的列表start -->
<datalist id="myDataList">
   <option value="java"></option>
   <option value="c#"></option>
   <option value=".net"></option>
</datalist>
<!-- 输入框的列表end -->

你最好将其放到输入框相近的地方,这样便于以后进行修改与管理。

当然啦,我这里面写的demo中的标签都是死的,到时候,你需要自己使用动态语言遍历其中的以下标签:

<option value="java"></option>

然后,我们写我们要进行输入的输入框:

<input value="" name="tags"  autocomplete="off" role="combobox" aria-expanded="false" list="myDataList" aria-activedescendant="AutoComplet-366-45815-0" id="articletags" aria-haspopup="true" aria-owns="Popover-366-3250-content" class="Input" placeholder="添加标签,逗号或空格分割">

这个input框要引用刚才写的myDataList这个datalist。

这样就实现了 输入框出现下拉框的形式了!假如你输入一个j,就会显示出java来的。

0 条评论