如何从输入提交字段中删除disabled =“ disabled”属性?

时间:2020-10-22 19:43:26

标签: javascript jquery

我不得不从输入字段中删除disabled="disabled"属性。

这是我尝试过的三种jQuery方法:

jQuery('.db_single_lesson .ld-breadcrumbs:first input[type=submit]').removeAttr('disabled');
    jQuery('.db_single_lesson .ld-breadcrumbs:first input[type=submit]').prop('disabled', false);
    jQuery('.db_single_lesson .ld-breadcrumbs:first input[type=submit]').removeProp('disabled');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="submit" value="Mark Complete" class="abcd" disabled="disabled">

但是无法删除disabled="disabled"属性。谁能告诉我出了什么问题,或者如何删除禁用的属性?

谢谢

5 个答案:

答案 0 :(得分:0)

让我们看看选择器...

.db_single_lesson .ld-breadcrumbs:first input[type=submit]

此代码正在寻找一个带有db_single_lesson的元素,其中包含另一个带有ld-breadcrumbs类的元素,其第一个输入是提交类型。您没有这两个包含类。我已经添加了它们,并且您第一次尝试使用removeAttr()的解决方案现在可以正常工作...

jQuery('.db_single_lesson .ld-breadcrumbs:first input[type=submit]').removeAttr('disabled');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="db_single_lesson">
<div class="ld-breadcrumbs">
<input type="submit" value="Mark Complete" class="abcd" disabled="disabled">
</div>
</div>

答案 1 :(得分:0)

在jQuery中启用按钮的正确方法是:

$('proper selector').prop('disabled', true);

您似乎未正确选择按钮,请尝试添加ID以供选择以单独测试解决方案。接下来,为了进行测试-更改按钮上的颜色,以确保您选择正确。

根据您的选择器,我会尝试

$('input.abcd').prop('disabled', true);

答案 2 :(得分:0)

可以选择.first()

来选择第一个元素

jQuery('.db_single_lesson .ld-breadcrumbs input[type=submit]').first().removeAttr('disabled');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<div class="db_single_lesson">
    <div class="ld-breadcrumbs">
        <input type="submit" value="Mark Complete" class="abcd" disabled="disabled">
    </div>
    <div class="ld-breadcrumbs">
        <input type="submit" value="Mark Complete" class="abcd" disabled="disabled">
    </div>
</div>

答案 3 :(得分:-1)

尝试致电

$('.db_single_lesson .ld-breadcrumbs:first input[type=submit]').prop('disabled', '');

这应该从您的元素中删除已禁用的标签。

这假定 .db_single_lesson .ld-breadcrumbs:first input [type = submit] 是所需元素的正确选择器。从您的问题尚不清楚这对您的按钮是否正确。

从您的问题来看,只有这行可能是这样的

$('input[type=submit]').prop('disabled', '');

答案 4 :(得分:-1)

选择器没有问题。我正在为选择器获取length=1。问题是其他脚本正在覆盖我的jquery脚本,因此无法正常工作。因此,我用setTimeout将脚本包含在delay函数中,以获得所需的结果。

setTimeout(function(){
        jQuery('.db_single_lesson .ld-breadcrumbs:first input[type=submit]').removeAttr('disabled');
    }, 500);

谢谢

相关问题