jQuery .val() 返回未定义
Posted
技术标签:
【中文标题】jQuery .val() 返回未定义【英文标题】:jQuery .val() returning undefinded 【发布时间】:2021-09-06 20:36:22 【问题描述】:这里的一位新开发人员正在尝试使用 jQuery 使用 html id staffno
提取值
<div class="span3">
<div class="control-group">
@Html.EditorFor(model => model.StaffNumber, new id = "staffno" )
@Html.ValidationMessageFor(model => model.StaffNumber)
<span id="useravailabity"></span>
</div>
</div>
js:
function GetId()
alert("Staff Id is " + $("#staffno").val());
我不明白为什么它返回给我undefined
??
【问题讨论】:
它很难帮助你,我们需要看看你什么时候运行警报,如果你提供编译好的html代码也可以帮助你 暗示要么没有匹配#staffno
的元素,要么有多个(无效)且第一个匹配的元素没有value
属性可供读取。如果没有看到实际的 HTML 或问题的工作示例,我们无法提供任何有用的帮助。
请从浏览器检查 HTML。是否使用 id="staffno" 创建输入控件
如果使用 id="StaffNumber" 创建控件(尽管我对此表示怀疑,因为您在代码中提到了 id),那么您的 jquery $("#staffno").val() 将永远无法工作。因为它正在使用 id=staffno 搜索控件。
@AmitVerma 它正在创建一个 id="StaffNumber" 的控件
【参考方案1】:
@Html.EditorFor(model => model.StaffNumber, new id = "staffno" )
@Html.ValidationMessageFor(model => model.StaffNumber)
Jquery 不会提取任何内容,因为它会将没有 html 标记的内容视为简单文本
【讨论】:
这些是 ASP.Net MVC 控件,将呈现为 HTML。 有什么方法可以提取价值吗? 我可以知道为什么会这样吗? @RoryMcCrossan【参考方案2】:我已经设法找到了这个问题的解决方案。
<div class="span3">
<div class="control-group">
@Html.EditorFor(model => model.StaffNumber, new id = "staffno" )
@Html.ValidationMessageFor(model => model.StaffNumber)
<span id="useravailabity"></span>
</div>
</div>
Html.EditorFor 创建了 id = "StaffNumber" 的控件。我所做的只是改变
alert("Staff Id is " + $("#staffno").val());
到这里:
alert("Staff Id is " + $("#StaffNumber").val());
感谢你们帮助我了解 jQuery 和 ASP.Net Mvc 控件的工作原理!非常感谢!
【讨论】:
以上是关于jQuery .val() 返回未定义的主要内容,如果未能解决你的问题,请参考以下文章