在这个foreach
我正在调用存储在数据库中的图像“Treasure”:
//the rest of the code is omitted for reading purposes.
foreach (var item in tresh)
{
if (item.itemImage != null)
{
string imageBase = Convert.ToBase64String(item.itemImage);
imageSource = string.Format("data:image/gif;base64,{0}", imageBase);
<img id="@item.treasureID" class="thisImage" src="@imageSource" width="100" height="100" onclick="return MakeSure()" />
<input type="hidden" id="hiddentreasure_id" value="@item.treasureID" />
}
}
现在隐藏<input>
的值会发生什么?它存储第一个图像ID的值,并且随着foreach
的增加不会动态变化。
如何使<input>
的值随此循环中图像的treasure_ID
动态变化。
这是我使用<input>
function MakeSure() {
var id = $("[id$=hiddentreasure_id]").val();
$.ajax({
url: "../../WebService.asmx/MakeSure",
data: "{ 'id': '" + id + "'}",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (data) {
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
}
});
答案 0 :(得分:0)
似乎已经写出来了。
每个隐藏元素都具有相同的ID。 ID应该是每页唯一的。你的MakeSure()javascript只是选择了遇到它的第一个元素(它总是具有相同的值,因为你总是选择相同的值)。
您可以在您的onclick中将ID值传递给MakeSure()。有些东西......
onclick="return MakeSure(@(item.treasureID))"
和
function MakeSure(id) {