【发布时间】:2016-04-25 06:56:27
【问题描述】:
当我运行我的网络应用程序时,许多文本框都带有它们的初始值。当我更改文本框值并单击按钮时,更改值并没有反映出旧值正在返回。我第一次面对这个问题。我清除了浏览器缓存,但仍然没有运气。
这样我从文本框中提取值。
alert(tr.find("input[id*='FirstName']").attr('value'));
OR
alert(tr.find("input[id*='FirstName']").val());
只是不明白为什么会这样。最后一天的事件成功运行了我的程序,但今天面临这个问题。我搜索谷歌,但没有运气。寻求帮助来解决它。我尝试复制问题in this fiddle,但在这里我没有遇到任何问题。
我在 td 中的 html 如下所示
<td class="NameColWidth">
<span class="display-mode">Sandip</span>
<input type="hidden" id="HiddenFirstName" value="Sandip" name="HiddenFirstName">
<input type="text" value="Sandip" name="Students[0].FirstName" id="Students_0__FirstName" data-val-required="First Name Required" data-val="true" class="edit-mode" style="display: none;">
<span data-valmsg-replace="true" data-valmsg-for="Students[0].FirstName" class="field-validation-valid text-danger"></span>
</td>
导致问题的隐藏字段?
【问题讨论】:
-
可以得到输入
$("#HiddenFirstName").val()的值 -
我只是删除了隐藏字段,程序开始工作。谁能说出为什么隐藏字段会导致问题?
-
在 jQuery 对象(代表一组节点,而不仅仅是单个节点)上调用 .val() 将返回单个值。 jQuery 选择集合中的第一个节点进行询问,因此您得到了隐藏输入的值,正如您所料。要么更具体地定位您的元素,要么过滤掉隐藏的输入。
-
tr.find("input[id*='FirstName']"将找到完全隐藏的字段并返回其值 -
如何在此处指定文本以及输入 tr.find("input[id*='FirstName']").val() ?
标签: jquery html dom jquery-selectors