【发布时间】:2017-07-26 14:15:42
【问题描述】:
我是 Javascript 编程新手。我正在尝试浏览书籍列表并将书名分配给一个数组,以便我可以使用 jQuery 将其绑定到自动完成文本框。以下是我的代码 -
block content
script.
$( function() {
var availableTags = [];
for (i=0; i < #{books.length}; i++) {
availableTags[i] = #{books[i].title};
}
$( "#tags" ).autocomplete({
source: availableTags
});
});
div.ui-widget
label(for="tags") Tags:
input(id="tags")
我的问题在于线路 -
availableTags[i] = #{books[i].title};
如果我使用常量,例如 -
availableTags[i] = #{books[0].title};
这很好用。但是如果使用变量 i,我会得到一个错误“无法读取未定义的属性标题”。
我做错了什么?
【问题讨论】:
-
会不会是key 0 没有定义?书的内容是什么?
-
不相关,但您应该声明您的
i,即for (let i=0;...。 -
书籍在哪里定义?
-
我正在为客户构建一个演示,所以它是故意简单化的。 “书”只是一个具有一个元素“标题”的对象。我有一个 nodejs/express 服务器代码,它可以获取“从书籍中选择 *”。
-
i不存在于服务器端代码中,仅当该循环在浏览器中运行时。只需将整个books数组传递给客户端变量,不要在<script>标记中使用除此之外的任何模板代码
标签: javascript jquery pug