文本输入的更改值未返回
Text input's changed value not returning
当我 运行 我的网络应用程序时,许多文本框都带有它们的初始值。当我更改文本框值并单击按钮时,更改值未反映而是返回旧值。我第一次遇到这个问题。我清除了浏览器缓存,但还是不行。
这样我就可以从文本框中提取值。
alert(tr.find("input[id*='FirstName']").attr('value'));
OR
alert(tr.find("input[id*='FirstName']").val());
只是不明白为什么会这样。最后一天的活动 运行 我的程序成功了,但今天遇到了这个问题。我搜索 google 但没有成功。寻求帮助来修复它。我尝试重现这个问题 in this fiddle 但在这里我没有遇到任何问题。
我的 html 在 td 中的样子如下
<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>
导致问题的隐藏字段?
隐藏文件导致了问题。当您尝试获取 id 包含 FirstName 的所有输入字段时,也会获取隐藏字段,因为它存在于同一行中并且 id 包含 FirstName。
忽略那个隐藏的文件你可以做
tr.find("input[id*='FirstName']").not("input[type='hidden']")
或
tr.find("input[id*='FirstName']:not([type=hidden])")
另请注意,如果您的查询结果 returns collection/array 到其他函数,则 jquery 默认情况下仅从该集合中选取第一项并仅更改
编辑
要回答评论中提出的问题,您可以通过
找到文本值
tr.find("input[type='text'][id*='FirstName']").val()
记住,这只会得到第一个文本值,而不是全部。
当我 运行 我的网络应用程序时,许多文本框都带有它们的初始值。当我更改文本框值并单击按钮时,更改值未反映而是返回旧值。我第一次遇到这个问题。我清除了浏览器缓存,但还是不行。
这样我就可以从文本框中提取值。
alert(tr.find("input[id*='FirstName']").attr('value'));
OR
alert(tr.find("input[id*='FirstName']").val());
只是不明白为什么会这样。最后一天的活动 运行 我的程序成功了,但今天遇到了这个问题。我搜索 google 但没有成功。寻求帮助来修复它。我尝试重现这个问题 in this fiddle 但在这里我没有遇到任何问题。
我的 html 在 td 中的样子如下
<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>
导致问题的隐藏字段?
隐藏文件导致了问题。当您尝试获取 id 包含 FirstName 的所有输入字段时,也会获取隐藏字段,因为它存在于同一行中并且 id 包含 FirstName。
忽略那个隐藏的文件你可以做
tr.find("input[id*='FirstName']").not("input[type='hidden']")
或
tr.find("input[id*='FirstName']:not([type=hidden])")
另请注意,如果您的查询结果 returns collection/array 到其他函数,则 jquery 默认情况下仅从该集合中选取第一项并仅更改
编辑 要回答评论中提出的问题,您可以通过
找到文本值tr.find("input[type='text'][id*='FirstName']").val()
记住,这只会得到第一个文本值,而不是全部。