使用int的更改值动态更改<input />的值

时间:2015-09-21 20:10:31

标签: javascript c# jquery asp.net-mvc-5

在这个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) {
                    }
                });

1 个答案:

答案 0 :(得分:0)

似乎已经写出来了。

每个隐藏元素都具有相同的ID。 ID应该是每页唯一的。你的MakeSure()javascript只是选择了遇到它的第一个元素(它总是具有相同的值,因为你总是选择相同的值)。

您可以在您的onclick中将ID值传递给MakeSure()。有些东西......

onclick="return MakeSure(@(item.treasureID))"

function MakeSure(id) {