Twitter Bootstrap Typeahead数据源的语法

3

我有一个 PHP 数组,想要使用它来预填充 Twitter Bootstrap 的 typehead,但是我不确定语法。

目前我的代码如下:

<input type="text" data-provide="typeahead" data-source="[<?php echo '\''.implode("','", $staff).'\''; ?> ]">

然而,这似乎没有起作用。有什么想法吗? http://twitter.github.com/bootstrap/javascript.html#typeahead

尝试移除'?>'和']'之间的空格,这只是一个猜测。 - fin1te
在输出之前,您必须使用 json_encode() 进行编码。 - dbrumann
1个回答

6

使用 json_encode()

<input type="text" data-provide="typeahead" data-source="<?php echo json_encode($staff);?>">

非常感谢!这个很好用 - 只需要稍作修改:当我使用单引号时它可以工作,而不是双引号。例如:data-source='<?php echo json_encode($array); ?>' - Paul
你不需要使用 htmlentities 来安全地将内容放入属性中吗?使 <?php echo htmlentities(json_encode($staff)); ?>(顺便说一下,这样解释了错误的需要单引号)。 - Sherbrow
是的,肯定需要双引号。看起来像是一个 Bootstrap 的 bug 或疏忽。 - SimplGy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接