我在使用 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,它开始工作了一段时间,但重新打开项目后,它又停止工作了!请告诉我我做错了什么!谢谢!