我正在使用 Spring MVC,并且我有一个在数据库中搜索记录并将记录列表返回到另一个页面的表单。然而,返回的数据在标签上绘制图像。只有第一个图像被绘制在表单上,其余的不是。我知道这与 jquery 中的循环闭包有关,但我如何才能在这里克服它。
对 jscript 进行了一些编辑,但是只有第一张图像显示在所有画布上
JavaScript:
$(文档).ready(函数() {
$(".photos").each(function(i){
if ($(this).val() != '') {
alert($(this).val());
var image = new Image();
var foto = $(".photos").val();
image.src = $(".photos").val();
image.onload = function(){
//var foto = $(".photos").val();
//image.src = $(".photos").val();
$(".canvas").each(function(i){
var ctx = document.getElementsByClassName("canvas")[i].getContext('2d');
ctx.drawImage(image,0,0, 320, 240);
});
}
}
});
});
CitizenList.jsp:
<title>Citizen Search Results</title>
</head>
<body>
<c:forEach items="${citizens}" var="citizen">
<div><p><canvas class="canvas" height="240" width="320"></canvas></div>
First name:- ${citizen.fName} , Last Name:- ${citizen.lName}
<input type="text" value="${citizen.photo}" class="photos"/>
</c:forEach>
</body>
</html>