我正在尝试在 asp.net mvc3 中使用 jquery。我正在使用 EditorTemplates 作为列表。我的模型是这样的
public class staffinfo
{
public int staffid { get; set; }
public double extgrade { get; set; }
public string lvlid { get; set; }
public IList<SelectListItem> level { get; set; }
public string grdid { get; set; }
public IList<SelectListItem> grade { get; set; }
public double pf { get; set; }
public double wages { get; set; }
public List<hrfacility> facility { get; set; }
}
public class hrfacility
{
public int id { get; set; }
public string name { get; set; }
public double price { get; set; }
public int staffid { get; set; }
public string staffname { get; set; }
public double amount { get; set; }
public bool selected { get; set; }
}
查看:
...
@Html.EditorFor(m => m.wages)
@Html.EditorFor(m=>m.facility)
hrfacility 的编辑器模板
@model Mysol.Models.hrfacility
...
@Html.DisplayFor(m=>m.name)
@Html.CheckBoxFor(m=>m.selected)
@Html.EditorFor(m => m.staffname)
@Html.EditorFor(m => m.amount)
<script type="text/javascript">
$('#staffname').attr('readonly', true);
</script>
我使用了上述过程,但在编辑器模板中没有列表部分,jquery 工作正常,但对于这种特殊情况,它不起作用!!
是不是因为员工姓名可能不止一个?
我怎样才能让jquery适用于上述情况(使staffname只读)??
附注readonly 仅用于示例目的。我还需要使用 jquery 做其他事情,例如将值分配给文本框。如果我能完成这项工作,我想我也可以做其他事情。
谢谢
最佳答案
它不起作用,因为 staffname
的输入 ID 应该类似于 facility_0_staffname
、 facility_1_staffname
等。
您最好将一个类添加到 staffname
输入并使用该类访问它。
您可以使用 Firebug(在 Firefox 上)检查 ID
关于编辑器中的jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11897777/