12

我的设置是 4 个链接(如下)。我希望每个链接都打开 myModal,但是根据单击哪个链接,应该在模态中加载不同的图像文件。我让它为其中一个链接工作。

<li><a href="#myModal" data-toggle="modal">6 Teams</a></li>
<li><a href="#">5 Teams</a></li>
<li><a href="#">4 Teams</a></li>
<li><a href="#">3 Teams</a></li>

<!-- Modal -->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="width:800px;">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<img src="/images/brackets/6teamDouble1.jpg">
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
</div>
</div>

如何在不为每个链接构建单独的模式的情况下使其适用于每个链接?

4

1 回答 1

32

通过使用 jquery .click,您可以轻松实现这一点(也可以使用 html5 数据属性)。

<ul>
    <li><a href="#myModal" data-toggle="modal" data-img-url="http://placehold.it/200x200/dddddd/ffffff&text=Hey1">6 Teams</a>
    </li>
    <li><a href="#myModal" data-toggle="modal" data-img-url="http://placehold.it/200x200/dddddd/ffffff&text=Hey3">5 Teams</a>
    </li>
    <li><a href="#myModal" data-toggle="modal" data-img-url="http://placehold.it/200x200/dddddd/ffffff&text=Hey4">4 Teams</a>
    </li>
    <li><a href="#myModal" data-toggle="modal" data-img-url="http://placehold.it/200x200/dddddd/ffffff&text=Hey5">3 Teams</a>
    </li>
</ul>

脚本:

$('li a').click(function (e) {
    $('#myModal img').attr('src', $(this).attr('data-img-url'));
});

小提琴:http: //jsfiddle.net/vLSWH/292/

注意:虽然您没有指定使用 jQuery,但 twitter-bootstrap modal 无论如何都要求您使用 jQuery,所以不妨使用它。

于 2013-09-12T03:52:01.197 回答