我有一个包含输入的表格。有默认值的输入,没有默认值的输入。我想在按钮点击时将输入值重置为默认值。我不会做
$('#tableid').find('input[type=text]').val('');
因为我说有输入默认值,我不想弄乱输入的值。
我也试过reset()
喜欢
$('#tableid').find('input[type=text]').reset();
但我收到错误reset is not a function
reset
内有input
table without form
的方法。
答案 0 :(得分:6)
试试这个:将默认值存储为输入框中的数据,如下所示
<input type="text" data-default="your default value" value="your default value">
并在按钮单击
上运行下面的代码$('#tableid').find('input[type=text]').each(function(){
var defaultVal = $(this).data('default');
$(this).val(defaultVal);
});
示例强>
$(function(){
$('#resetBtn').click(function(){
$('#tableid').find('input[type=text]').each(function(){
var defaultVal = $(this).data('default');
$(this).val(defaultVal);
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="tableid">
<tr><td><input type="text" data-default="first Default" value="first Default"></td></tr>
<tr><td><input type="text" data-default="Second Default" value="second Default"></td></tr>
<tr><td><input type="text" data-default="third Default" value="third Default"></td></tr>
</table>
<input type="button" value=" RESET " id="resetBtn">
答案 1 :(得分:0)
使用此方法通过将0传递给.get()来获取第一个HTML元素:
$('#tableid').find('input[type="text"]').get(0).reset();
或(相同但略短):
$('#tableid').find('input[type="text"]')[0].reset();
答案 2 :(得分:0)
<强> HTML 强>
<table id="test">
<tr>
<td><input type="text" data-default="test1" /></td>
<td><input type="text" data-default="test2" /></td>
<td><input type="text" data-default="test3" /></td>
</tr>
</table>
<button id="clickme">Click me</button>
<强>的jQuery 强>
$("#clickme").on("click",function(){
$('#test').find('input[type=text]').each(function(){
$(this).val($(this).attr("data-default"));
});
});
<强> JS Fiddle 强>