无法启用禁用的输入

这个问题在这里已经有了答案:

  • 使用jQuery禁用/启用输入? 11个答案

  • 只是为了扩大答案...

    真正的问题是,你试图通过setAttribute()来设置disabled为false,这不符合你的期望。 如果设置了禁用属性,则禁用元素,无论值如何, disabled="true"disabled="disabled"disabled="false"都是等同的:元素被禁用。

    您应该删除完整的属性

    $('#enb').click(function() {
       $('#inp').removeAttr('disabled');
    });
    

    只要删除disabled属性

    $('#enb').click(function() {
       $('#inp').removeAttr('disabled');
    });
    

    问题在于你的代码有truefalse的引号,使得它们成为字符串而不是布尔值。 请注意, 'true''false'都是真值,因此您的代码在两种情况下均将启用值设置为true。

    我希望以下内容可以为您效劳,请检查以下代码段:

    $('#dis').click(function() {
        $("#inp").prop('disabled', true);
    });
    
    $('#enb').click(function() {
        $("#inp").prop('disabled', false);
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <input id='inp' type='text'>
    <button id='enb'>Enable</button>
    <button id='dis'>Disable</button>
    链接地址: http://www.djcxy.com/p/22995.html

    上一篇: Unable to enable disabled input

    下一篇: toggle disabled attribute in jquery