我觉得有一个超级简单的答案,但我正在努力解决它。我使用下划线和 _.each 来呈现一个 html 块(.datachunk 和 #mymodal)并遍历对象数组以填充数据。这是我精简的 HTML。
<!--BEGIN datachunk-->
<div class="datachunk"></div>
<!-- END datachunk-->
<!--BEGIN datachunk-->
<div class="datachunk"></div>
<!-- END datachunk-->
<!--BEGIN datachunk-->
<div class="datachunk"></div>
<!-- END datachunk-->
<!--BEGIN Modal-->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"></div>
<!--END Modal-->
<!--BEGIN Modal-->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"></div>
<!--END Modal-->
<!--BEGIN Modal-->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"></div>
<!--END Modal-->
这是场景。单击第一个 .datachunk 并弹出打开第一个 #mymodal。单击第二个 .datachunk 并弹出打开第二个 #mymodal。单击第三个 .datachunk 并弹出打开第三个#mymodal。ETC...
现在我有:
$(".datachunk").click(function (){
$("#myModal").modal();
});
但无论我点击什么 .datachunk (如预期的那样),这只会弹出第一个模式。
如何将每个 .datachunk 与其相应的模态绑定(不确定这是否是正确的术语)?
我无法对特定的类或 id 进行硬编码,因为 .datachunk 和模态的数量是动态的,具体取决于拉入的帖子数量。
**更新* * 让你摇滚!我的解决方案基于您的:
$(".datachunk").each(function(index){
var datachunkIdentifier = "postInfo" + index;
$(this).data("datachunk-class", datachunkIdentifier);
$(".datachunk").eq(index).attr("identifier", datachunkIdentifier);
});
$(".datachunk").each(function(index){
var datachunkIdentifier = "postInfo" + index;
$(this).data("modal-id", datachunkIdentifier);
$(".modal").eq(index).attr("identifier", datachunkIdentifier);
});
这会为每个数据块和模态添加一个称为标识符的 attr。现在我不知道如何调用正确的模态。所以点击带有标识符=“postInfo1”的div.datachunk会弹出带有标识符=“postInfo1”的#myModal
新的html:
<div class="datachunk borderBottom" identifier="postInfo1"></div>
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" identifier="postInfo1"></div>