我有一个行表,每行都有一个编辑按钮。当我单击按钮时,我可以设置行值以在表单上形成控件。
我希望当我致电$('#txtFirstName').empty()
时,应该清除txtFirstName
中的文字。相反,文本不会被清除,当我再次调用表单时,它会显示该控件中的旧文本。
有没有办法清除控件中的文字?
$('#btnClear').click(function () {
$('#txtFirstName').empty();
$('#txtLastName').empty();
}
源代码显示数据已清除。
<tr>
<td>
<label for="employee_FirstName">First Name</label>
</td>
<td>
<input class="form-control" data-val="true" data-val-required="The First Name field is required." id="txtFirstName" name="employee.FirstName" placeholder="First Name" style="width:400px" type="text" value="" />
</td>
<td>
<span class="field-validation-valid" data-valmsg-for="employee.FirstName" data-valmsg-replace="true"></span>
</td>
</tr>
<tr>
<td>
<label for="employee_LastName">Last Name</label>
</td>
<td>
<input class="form-control" data-val="true" data-val-required="The Last Name field is required." id="txtLastName" name="employee.LastName" placeholder="Last Name" style="width:400px" type="text" value="" />
</td>
<td>
<span class="field-validation-valid" data-valmsg-for="employee.LastName" data-valmsg-replace="true"></span>
</td>
</tr>
此信息可能来自缓存,但我不确定。
答案 0 :(得分:4)
正如@RoryMcCrossan在上面的comment中所说的,您正在寻找的是jQuery.val
。
获取匹配元素集中第一个元素的当前值或设置每个匹配元素的值。
jQuery.empty
不符合你的想法。
从DOM中删除匹配元素集的所有子节点
因为您尝试更改元素的值,而不是从DOM中删除元素,所以应使用jQuery.val
。
作为旁注,您的JavaScript中存在语法错误。您在)
的参数列表末尾缺少右括号$('#btnClear').click
。无论是否是复制和粘贴错误,我想我会指出它。
另请注意,不是将jQuery.val
应用于要清除的每个元素,而是可以按类选择元素并将jQuery.val
应用于返回的jQuery对象,该对象将操作应用于每个元素与匹配的类。
这是一个简单的例子:
$('#clear').click(function() {
$('.form-control').val('');
});
&#13;
<script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
<input class="form-control">
<input class="form-control">
<input class="form-control">
<button id="clear">Clear</button>
&#13;