通过JavaScript在Django中显示图像
我正在尝试创建一个包含姓名列表的页面。每个名称都有自己的模式(注意:这在通过JavaScript在Django中显示图像,javascript,html,django,twitter-bootstrap,django-templates,Javascript,Html,Django,Twitter Bootstrap,Django Templates,我正在尝试创建一个包含姓名列表的页面。每个名称都有自己的模式(注意:这在for循环中,因此对于每个名称,创建一个模式),其中包含名称、描述和图像。将显示名称和标题,但不显示图像 <!-- Toggle Button --> {% for name in User_list %} <li><a data-toggle="modal" data-id="{{ name }}" data-description="{{ name.description }}" data-
for
循环中,因此对于每个名称,创建一个模式),其中包含名称、描述和图像。将显示名称和标题,但不显示图像
<!-- Toggle Button -->
{% for name in User_list %}
<li><a data-toggle="modal" data-id="{{ name }}" data-description="{{ name.description }}" data-image="{{ name.image }}" title="Add this item" class="open-AddBookDialog " href="#addBookDialog">{{ name }}</a></li>
{% endfor %}
<!-- Modal -->
<div class="modal hide fade" id="addBookDialog">
<div class="modal-header">
<button class="close" data-dismiss="modal">×</button>
<h3 id="nameId" /></h3>
</div>
<div class="modal-body">
<p id="nameDescription" /></p>
<div id='images'></div>
</div>
</div>
<!-- JavaScript -->
<script type="text/javascript">
$(document).on("click", ".open-AddBookDialog", function () {
var myNameId = $(this).data('id');
var myNameDescription = $(this).data('description');
var thumb = $(this).data('image');
$(".modal-header #nameId").html( myNameId );
$(".modal-body #nameDescription").html( myNameDescription );
$(".modal-body #images").html("<img>" ,{src: thumb});
//.html( myNameImage )
// As pointed out in comments,
// it is superfluous to have to manually call the modal.
});
</script>
{用户_列表%中的名称为%}
{%endfor%}
×
$(文档)。在(“单击“,”。打开AddBookDialog”,函数(){
var myNameId=$(this.data('id');
var mynamescription=$(this).data('description');
var thumb=$(this.data('image');
$(“.modal header#nameId”).html(myNameId);
$(“.modal body#namescription”).html(mynamescription);
$(“.modal body#images”).html(“
我做错了什么,如何更正它(注意:我正在使用Twitter引导)方法不接受两个参数。html()
方法正在尝试创建一个元素并初始化它的一些属性。请尝试正确创建它并附加它:
$("#images").empty().append($("<img>", {src: thumb}));
$(“#图像”).empty().append($(“
演示:
元素的id
应该是唯一的,因此您可以使用选择器$(“#图像”)
(对于您拥有的其他选择器也是如此)…否则jQuery会做一些额外的不必要的工作
参考资料:
html()
:
append()
:
我向我的朋友道歉,我是有意这么做的,尽管它仍然不会显示图像。在源代码中,它甚至没有将其作为
tag@user2564732我的错!我不知道我在想什么-html()
接受字符串,而不是jQuery对象。我刚刚更新了我的答案;应该可以。感谢您的更新!它现在重新定义了代码,并为我提供了图像的源代码。是否有办法实际显示它,因为它不会出现?请注意,每个模式都是在for中创建的loop@user2564732我不知道你是什么意思。你是什么意思n“给我图像的来源”?你的意思是它显示的不是图像本身?我认为这意味着路径不正确,无法找到图像。检查DOM并确保正确correct@user2564732关于你的模态在for循环中-那么你在页面上有重复的id
s,这是不好的。为什么你要生成多模态无论如何,你应该能够重用一个模式