我在 Jinja2 的帮助下在 Python 中构建了一个基于浏览器的应用程序,并希望为文件列表中的每个项目添加一个对话框。例如,我的 Python/Jinja2 生成以下 HTML:
<div id="dialog">Unique data goes here.</div>
...
<li class="ui-widget-content">something.pdf</li>
<li class="ui-widget-content">something else.zip</li>
<li class="ui-widget-content">something else(1).zip</li>
...
我希望每个<li>
都成为显示对话框的 Javascript 的调用,并且每个对话框都包含与列表中的文件相关的唯一信息。这个列表也在不断变化。这是我到目前为止的 JS 代码,但这只会为每个<li>
标签显示列表中的第一项:
$.fx.speeds._default = 1000;
$(function() {
$( "#dialog" ).dialog({
autoOpen: false,
show: "slide",
hide: "fade"
});
});
$(document).ready(function(){
$("#selectable").children("li").each(function() {
$(this).mouseover(function(){
$(this).css("background-color","#FECA40");
});
$(this).mouseout(function(){
$(this).css("background-color","white");
});
$(this).click(function(){
$("#dialog").dialog( "open" );
return false;
});
});
});
我对 Javascript 很陌生,完全迷失了这个。我能想到的唯一方法是为每个分配一个唯一id
的<div>
,然后为每个创建一个相应的函数id
。由于该列表包含 300 个以上的文件,因此这似乎不太明智。<li>
为每个标签提供自己独特的对话框的最佳方式是什么?谢谢!