1

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

但还是不行。:(

4

2 回答 2

1

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

尝试:

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

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

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

另一种方法是:

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

你也可以试试:

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

或者:

var data = fun();
$('.typeahead').typeahead({source: data})
于 2012-08-12T19:26:18.837 回答
0

也许这更好?

  return '["apple", "bananas"]';
于 2012-08-12T19:26:19.807 回答