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-Bootstrap 页面

视频分享Twitter前端CSS框架Bootstrap视频教程

Twitter bootstrap 浮动 div 右

为 Twitter 的 Bootstrap 3.x 按钮设计样式

html HTML,CSS,Bootstrap:使用Twitter Bootstrap进行5列布局

如何让 twitter-bootstrap 导航栏子项在小屏幕上折叠/展开?