【问题标题】:Dynamically changing the value of <input> with the changing value of an int随着 int 值的变化动态地改变 <input> 的值
【发布时间】:2015-12-18 15:43:20
【问题描述】:

在这个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" />
        } 
  }

现在隐藏的&lt;input&gt; 的值会发生什么,它存储了第一个图像 id 的值,并且不会随着foreach 的增加而动态变化。

如何使&lt;input&gt; 的值随此循环中图像的treasure_ID 动态变化。

这是我使用&lt;input&gt;的值的地方

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

【问题讨论】:

  • 重复的id属性是无效的html和$('#hiddentreasure_id').val()只会返回第一个元素的值id="hiddentreasure_id"使用类名和相对选择器

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


【解决方案1】:

它似乎已经正确地写出来了。

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

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

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

function MakeSure(id) {

【讨论】:

    猜你喜欢
    • 2015-12-27
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    相关资源
    最近更新 更多