如何仅在用户输入特定字符(如 @)时使用引导预类型显示自动完成选项
How to show autocomplete options using bootstrap typeahead only when user enters a particular character like @?
这就是我想要实现的目标。我有一个文本区域,用户在其中输入大量文本。现在,只要用户键入@(输入他的其他文本后),我想向他显示选项(说各种颜色),用户应该能够从这些选项中进行选择。
例如,在文本区域中,用户输入"我买了一件衬衫",然后提到@。所以自动完成选项应该来了,他应该能够在红色,蓝色,绿色,黄色等之间进行选择。 只要用户选择任何颜色。文本区域的总输入应变为 - "我买了一件衬衫@blue"
我查看了预键入 api,但不知道如何实现这一点。
Typeahead 需要一个具有值和标记属性的基准面。
token
是用户键入时搜索的内容,value
是自动完成提示中显示的内容,一旦您从列表中选择它。
如果给它一个字符串,该字符串将更改为基准面。
如果字符串只有 1 个单词,即 @red
,那么令牌和价值都将@red
。喜欢这个:
{
value: "@red",
tokens: ["@red"]
}
如果字符串是几个单词,即 I bought a shirt @red
然后它被空格分成多个标记,如下所示:
{
value: "I bought a shirt @red",
tokens: ["I","bought","a","shirt","@red"]
}
当您键入 typeahead 输入并且您有多个标记时,可以通过键入其中一个标记的开头来找到该值,即键入 b
或s
仍将在列表中显示I bought a shirt @red
。
我认为您可以通过查看以下示例来接近您想要的内容,其中我指定了第一个令牌,而不是让 typeahead 为我做这件事,这只是为了给你一个关于两种方式如何工作的示例。
您可能需要考虑进一步更改 typeahead 的工作方式,因为您尝试以对用户来说可能不那么直观的方式使用自动完成。
看到这个小提琴 http://jsfiddle.net/KWftZ/2/
.html:
<input type="text" class="typeahead" />
.js:
$(".typeahead").typeahead({
local: [{
value: 'I bought a shirt @red',
tokens: ['@red']
}, "@blue", "@green", "@yellow"]
});
- dataTables-如何自定义分页类型以显示最后一个页码后面的省略号,
- 如何显示在输入类型文件中选择的文件
- 点击复选框并显示“;“新闻”;仅适用于该类型的类别
- 输入类型=“;文件“;onclick有效,但文件选择不显示
- 使用动态<选择>以显示<输入类型=“;文本>
- 如何在php循环中显示隐藏的数据类型
- 当我编写脚本时,它显示类型错误:menuLi[i] 未定义
- 同步 ejGrid 不显示(未捕获的引用和未捕获的类型错误)
- jQuery淡入淡出/动画不透明度到不同的显示类型,然后阻止
- JQuery确定类型,typescript 1.4和Webstorm错误突出显示
- 从getTime()类型的日期获取日期和时间,以显示mySQL数据库中的日期
- 将各种输入类型编号的值求和,并实时显示总数
- 在codeigneter中按类型输入框显示数据库中的数据
- FancyBox将DIV的内容显示为iFrame类型
- 已从'上传文件;文件'img字段中未显示类型输入字段
- 在我的案例中,如何将显示类型更改为内联元素
- jQuery image丢弃无效的图像类型,并显示一条无效的消息而不是警告框
- 如何仅在用户输入特定字符(如 @)时使用引导预类型显示自动完成选项
- AngularJS:根据模型类型显示适当的表单元素
- 在谷歌地图中按类型显示自定义图像标记图标