Javascript 如何不清除表单jQuery中禁用的输入
如何不清除表单中禁用的输入。我只需要清除启用的输入。我使用以下代码:Javascript 如何不清除表单jQuery中禁用的输入,javascript,jquery,html,Javascript,Jquery,Html,如何不清除表单中禁用的输入。我只需要清除启用的输入。我使用以下代码: $('form[id="addFromReport"] button:reset').click(function () { $('form[id="addFromReport"]') .find(':radio, :checkbox').removeAttr('checked').end() .find('textarea, :text, select').val('');
$('form[id="addFromReport"] button:reset').click(function () {
$('form[id="addFromReport"]')
.find(':radio, :checkbox').removeAttr('checked').end()
.find('textarea, :text, select').val('');
return false;
});
它清除所有字段(已启用和已禁用)。我添加了
.find('input:enabled:not([disabled]))
和.find('input:enabled')
。清洁后不起作用。您可以使用:input
选择器获取所有输入
、文本区域
、选择表单中的和按钮
元素,然后使用:enabled
选择器。还请注意,最好使用prop()
并将checked
设置为false
,而不是删除属性,并且您应该使用id选择器而不是属性选择器来获取表单
$('form[id="addFromReport"] button:reset').click(function () {
$('form[id="addFromReport"]')
.find(':radio, :checkbox').removeAttr('checked').end()
.find(':input:enabled').val('');
return false;
});
试试这个:
$('#addFromReport button:reset').click(function(e) {
e.preventDefault();
$('#addFromReport')
.find(':radio, :checkbox').prop('checked', false).end()
.find(':input:enabled').val('');
});
为什么不过滤:enabled
项,然后查找您要查找的内容。希望它有帮助使用.find('input:enabled')如何。而不是(“:disabled”)
请注意,这只检索输入
元素。
$('form[id="addFromReport"] button:reset').click(function () {
$('form[id="addFromReport"]').filter(':enabled')
.find(':radio, :checkbox').removeAttr('checked').end()
.find('textarea, :text, select').val('');
return false;
});