1

我在使用 jquery 在我的 asp.net mvc 项目中添加具有特定属性的块时遇到了麻烦。我需要根据下拉列表中的内容(通过 c# 创建)将块添加到页面中 我在视图中创建了一个隐藏块(查看下面的代码),它使用“列表”中的选项制作“选择”标签

<div id="other" class="EqItem">
   <p>Else: @Html.DropDownList("else", Model.ModEq("",""))</p>
   <p>Serial №: @Html.TextBox("serialelse")</p>
</div>

加载页面后,我使用一个函数从 DOM 中删除这个块,并将这个块的 html 代码复制到一个变量中(blockToAdd)

function BlockDelete()
{
    blockToAdd = $("#other").html();
    $("#other").remove();
}

然后我使用这个变量动态地将块添加到我的页面中(下面的函数)

function ShowListEtc()
{
  for (c = 0; c < 15; c++)
  {
     if (!$("#divotherlist" + c + "").length) {
       id = "divotherlist" + c + "";
       clas = "EqItem";
       blockToAdd = blockToAdd.trim();
       $(".rightside").append('<div id="' + id + '">' + blockToAdd 
            + '<p><img id ="' + id + 'D"src="/Images/delete.png" 
            onclick="Delete(id)"></p></div>');
       $("#" + id).attr('class', clas);
       $("#"+id).show();
       selectid = "othersel" + c;
       $("#" + id).find("select").attr('id', selectid);
       $('#' + selectid + ' option').each(function () { 
          this.setAttribute('id', TransL(this.text) + c); 
          this.setAttribute('onclick', 'MakeNameParent(id)') 
       });
       break;
    }
  }
}

关键是我尝试在创建的块中更改属性(附加(')但它们没有应用!当我第一次编写代码时,它工作了,但突然停止工作,然后我尝试使用 .prepend 代替的.append,它开始工作了一段时间,但重新打开项目后,它又停止工作了!请告诉我我做错了什么!谢谢!

4

0 回答 0