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;
});