我有一个包含以下表单元素的表单:
@using (Html.BeginForm("Edit", "UserProfile", FormMethod.Post, new { id = "EditUserForm", @class = "form-horizontal form-bordered" }))
{
<div class="form-group">
@Html.LabelFor(m => m.Email, new { @class = "col-sm-4 control-label" })
<div class="col-sm-8">
@Html.TextBoxFor(m => m.Email, new { @class = "form-control", type = "text", @readonly = "readonly" })
</div>
</div><!-- form-group -->
<div class="form-group">
@Html.LabelFor(m => m.Name, new { @class = "col-sm-4 control-label" })
<div class="col-sm-6">
@Html.TextBoxFor(m => m.Name, new { @class = "form-control", type = "text", @readonly = "readonly" })
</div>
</div><!-- form-group -->
}
我想使用jquery遍历表单中的所有元素并更改/删除readonly
属性。当我点击按钮/元素时。
我将如何做到这一点。我只知道如何更改我知道的单个项目的属性?
html是Razor视图。
答案 0 :(得分:2)
您可以使用:
$(function () {
$('#EditUserForm [readonly]').prop('readonly', false);
});
答案 1 :(得分:1)
由于表单中只有输入字段。
尝试这样的事情:
$('input[readonly]').removeAttr('readonly');
OR
$('#EditUserForm input[readonly]').removeAttr('readonly');
答案 2 :(得分:1)
$(".form-group input[type=text").each(function(){
var attr=$(this).attr('readonly');
if(typeof attr !==typeof undefined || attr!==false)
$(this).removeAttr('readonly');
});