Twitter bootstrap typeahead 不能与 data-source 属性一起正常工作
Posted
技术标签:
【中文标题】Twitter bootstrap typeahead 不能与 data-source 属性一起正常工作【英文标题】:Twitter bootstrap typeahead does not work properly with data-source attribute 【发布时间】:2013-03-28 15:18:14 【问题描述】:为什么当我在data-source
属性中使用"
符号来表示字符串值时一切正常,但是当我使用'
来表示它们时,引导程序只识别第一个字符?
我知道在 c# 和许多其他语言中 "
和 '
之间的区别是字符和字符串之间的区别,但我第一次看到它在 html 中被严格使用,如果是这样的话为什么JS没有任何错误。
<div class="container">
<div class="hero-unit">
<form>
<div>
<label>working typeahead</label>
<input type="text" data-provide="typeahead" autocomplete="off" data-source='["hello","world"]' />
</div>
<div>
<label>not working typeahead</label>
<input type="text" data-provide="typeahead" autocomplete="off" data-source="['hello','world']" />
</div>
</form>
</div>
见小提琴:http://jsfiddle.net/H4Qmh/4/
【问题讨论】:
【参考方案1】:这很奇怪,但data-source=["hello", "world"]
有效,即使它看起来不像干净的 HTML。
我想知道它是否被视为 JSON,在这种情况下,所有元素都必须用双引号括起来。见:How to pass an array into jQuery .data() attribute。
【讨论】:
您说得对,先生,它被视为 JSON,因此需要双引号。尝试linting 两种类型的相同数组。data-source=["hello", "world"]
之所以有效,是因为 HTML attribute values don't require quotes。以上是关于Twitter bootstrap typeahead 不能与 data-source 属性一起正常工作的主要内容,如果未能解决你的问题,请参考以下文章
视频分享Twitter前端CSS框架Bootstrap视频教程
为 Twitter 的 Bootstrap 3.x 按钮设计样式