2

所以我不确定我应该寻找什么来解决这个问题。我只知道这是个问题。所以我有一个视图,其中返回了一个剧集名称列表。在视图中,我有一个带有 jQ​​uery 调用的按钮,我想在每次按下按钮时循环播放剧集。我创建了一个迭代器,但问题是,如果我在 jQuery 函数中增加迭代器,它的作用域会阻止它在下次按下按钮时保持它的值,这意味着它只能增加一个。代码看起来像这样

$(document).ready(function(){
{{iter = 0}}
$('#nextButton').click(function(){
    {{iter = iter + 1}}
    $('.firstEp').children().remove()
    $('.firstEp').append('<p>epList[iter]</p>')
});

因此 iter 可以增加您按下按钮的一次但不能增加。我可以用什么来解决这个问题?

4

2 回答 2

2

所以我有一个 python 列表,我想在我的 jQuery 函数中迭代。为了做到这一点,我必须先把它变成一个 javascript 数组。我可以这样做

jsArray{{=XML(response.json(pyList))}}

其中 pyList 是您的 python 列表,而 jsArray 是 javascript 数组。您可以在 jQuery 事件处理程序中对 jsArray 做任何您想做的事情。

于 2013-07-09T17:30:59.617 回答
1
$(document).ready(function(){
{{iter = 0}} <-- WEB2PY TEMPLATE CODE
$('#nextButton').click(function(){
    {{iter = iter + 1}} <-- WEB2PY TEMPLATE CODE
    $('.firstEp').children().remove()
    $('.firstEp').append('<p>epList[iter]</p>')
});

假设上面是在 web2py 模板中,上面标记的两行是 web2py 模板代码,这是在将 HTML 页面返回给浏览器之前在服务器上执行的 Python。在这种情况下,因为每一行都不以 开头,=所以不会向页面写入任何内容,因此写入的 Javascript 将在这些地方简单地有空行。相反,您需要用 Javascript 编写所有这些。

于 2013-07-04T22:13:19.310 回答