从Bootstrap Typeahead中的数据属性中调用函数?

时间:2012-08-12 19:23:45

标签: javascript twitter-bootstrap

Twitter bootstrap提供了一个特殊的输入元素。但我正在尝试使用javascript函数填充其中一个属性。

<input type="text" data-provide="typeahead" data-source="return fun()">

<script>
function fun()
{
  return "["apple", "bananas"]";
}
</script>

但这似乎不起作用。

修改

按照Moin Zaman的指示行事,

http://jsbin.com/enacof/5

但仍然无效。 :(

2 个答案:

答案 0 :(得分:1)

你的双引号用法不太正确。

尝试:

  return "['apple', 'bananas']";

您的代码应该在浏览器中抛出脚本错误。

这也不起作用,因为Bootstrap Typeahead引用和代码显示data-source直接用作字符串,而不是eval用于作为js函数运行。< / p>

另一种方法是:

$('.typeahead').typeahead({source:"['apple', 'bananas']"})

您也可以尝试:

$('.typeahead').typeahead({source: fun()})

或:

var data = fun();
$('.typeahead').typeahead({source: data})

答案 1 :(得分:0)

也许这更好?

  return '["apple", "bananas"]';