【问题标题】:Jquery not getting value from EditorFor [duplicate]Jquery没有从EditorFor获得价值[重复]
【发布时间】:2017-01-30 15:04:28
【问题描述】:

我的部分观点是这样的

@Html.EditorFor(model => model.DirectorsEntity.ApplicationDate, new { @class = "form-control", @id="appdate" })

在我的 jquery 中我有:

var appdate = $("#appdate").val();

不幸的是,它以未定义的形式返回。

我将我的 EditorFor 更改为 TextBox,它可以工作,但我更喜欢使用 EditorFor。有谁知道为什么一个可以工作而另一个不行?

@Html.TextBoxFor(model => model.DirectorsEntity.ApplicationDate, new { @class = "form-control", @id="appdate" })

【问题讨论】:

  • 因为EditorFor() 不允许您添加 html 属性,除非您使用 MVC-5.1 或更高版本,如果您是,那么它无论如何都不是正确的格式(参考骗子)。你的EditorFor() 正在生成id="DirectorsEntity_ApplicationDate",所以只需使用var appdate = $("#"DirectorsEntity_ApplicationDate").val();

标签: jquery asp.net-mvc razor editorfor


【解决方案1】:

如果您在以下 Code1 示例中使用“Editorfor”,它会生成一个输入文本元素,其中 id 和名称设置为属性名称,如 Code2 示例中所示。

代码1:

 @Html.EditorFor(m => m.UserName) 

代码2:

 <input class="text-box single-line" id="UserName" name="UserName" type="text" value="">

如果您为“Editorfor”使用单独的 id,它将无法工作,因为它采用默认 id。在 jquery 的 id 选择中使用属性名称。

【讨论】:

    【解决方案2】:

    你能试试这个吗?

     @Html.EditorFor(model => model.DirectorsEntity.ApplicationDate, new { htmlAttributes = new { @class = "form-control",@id= "appdate" } })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-30
      • 2012-05-12
      • 2016-10-20
      • 2018-04-08
      • 2012-06-24
      • 1970-01-01
      • 2021-10-31
      • 1970-01-01
      相关资源
      最近更新 更多