programing

jQuery를 사용하여 "disabled" 속성을 제거하려면 어떻게 해야 합니까?

sourcetip 2022. 10. 2. 23:30
반응형

jQuery를 사용하여 "disabled" 속성을 제거하려면 어떻게 해야 합니까?

처음에 입력을 비활성화한 후 링크를 클릭하여 활성화해야 합니다.

지금까지 해 봤지만 효과가 없어요.

HTML:

<input type="text" disabled="disabled" class="inputDisabled" value="">

j쿼리:

$("#edit").click(function(event){
   event.preventDefault();
   $('.inputDisabled').removeAttr("disabled")
});


은 나에게 '아예'를 보여 준다.true 다음에 또 한 번.false그러나 입력에 대해서는 변경되지 않습니다.

$("#edit").click(function(event){
   alert('');
   event.preventDefault();
   alert($('.inputDisabled').attr('disabled'));
   $('.inputDisabled').removeAttr("disabled");
   alert($('.inputDisabled').attr('disabled'));
});

jQuery를 사용할 때는 항상 이 방법을 사용하여 요소를 활성화하거나 비활성화하십시오(이유에 대해서는 아래 참조).

고객님의 경우 다음과 같습니다.

$("#edit").click(function(event){
   event.preventDefault();
   $('.inputDisabled').prop("disabled", false); // Element(s) are now enabled.
});

jsFiddle의 예를 다음에 나타냅니다.


「」를 사용하는가?prop()「」를 사용할 수 .attr()/removeAttr()걸걸하 기기?

으로는 ★★★★★★★★★★★★★★★★★」prop()속성을 가져오거나 설정할 때 사용해야 합니다(예:autoplay,checked,disabled ★★★★★★★★★★★★★★★★★」required(을)

「」를 사용해 .removeAttr() 해서 완전히 disabled자체 - "는 "-"입니다.prop()는 단순히 속성의 기본 부울 값을 false로 설정하는 것입니다.

하고 싶은 일을 할 수 있는 반면attr()/removeAttr()( 경우처럼 이상하거나 문제가 있는 동작이 발생할 수 있습니다)를 실행하는 것은 아닙니다.

다음 발췌문(prop()에 대한 jQuery 문서에서 발췌)은 이러한 점에 대해 보다 자세히 설명합니다.

"특정 상황에서는 속성과 속성의 차이가 중요할 수 있습니다. 1 jQuery 1.6은.attr()메서드는 일부 속성을 검색할 때 속성 값을 고려하는 경우가 있으며, 이로 인해 일관성 없는 동작이 발생할 수 있습니다.1.6 1.6.prop() method는 속성값을 취득하는 방법을 제공합니다..attr()아트리뷰트

일반적으로 속성은 시리얼화된HTML 속성을 변경하지 않고 DOM 요소의 동적 상태에 영향을 줍니다.를 들어, 「」가 있습니다.value인 "Drught"는 다음과 같습니다.disabled 및 """ " " " " " " " "checked★★★★★★★★★★★★★★★★★★★★★★★..prop()하여 설정해 .disabled ★★★★★★★★★★★★★★★★★」checked.attr()★★★★★★.val()취득 및 설정에는 메서드를 사용해야 합니다.value

비활성화된 Atribute 사용을 제거하려면

 $("#elementID").removeAttr('disabled');

비활성화된 Atribute 사용을 추가하려면

$("#elementID").prop("disabled", true);

즐기세요 :)

<input type="text" disabled="disabled" class="inputDisabled" value="">
​<button id="edit">Edit</button>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

$("#edit").click(function(event){
    event.preventDefault();
    $('.inputDisabled').removeAttr("disabled")
});​

http://jsfiddle.net/ZwHfY/

이렇게 하면

HTML:

<input type="text" disabled="disabled" class="inputDisabled" value="">

<div id="edit">edit</div>

JS:

 $('#edit').click(function(){ // click to
            $('.inputDisabled').attr('disabled',false); // removing disabled in this class
 });

디세이블 상태를 전환하려고 하는 것 같습니다.마녀의 경우는, 다음의 질문을 사용해 주세요.

$(".inputDisabled").prop('disabled', function (_, val) { return ! val; });

여기 작동 중인 바이올린이 있습니다.

비활성화된 속성을 제거합니다.

 $('#inputDisabled').removeAttr('Disabled');

사용 안 함 속성 추가

 $('#inputDisabled').attr('disabled', 'disabled' );

2018년, JQuery 없음

JQuery에 관한 질문인 것을 알고 있습니다.이 답변은 참고 자료입니다.

document.getElementById('edit').addEventListener(event => {
    event.preventDefault();
    [...document.querySelectorAll('.inputDisabled')].map(e => e.disabled = false);
}); 

간단하게 셋업할 수 있을 것 같아서

$(function(){
$("input[name^=radio_share]").click
(
    function()
    {
        if($(this).attr("id")=="radio_share_dependent")
        {
            $(".share_dependent_block input, .share_dependent_block select").prop("disabled",false);   
        }
        else
        {
            $(".share_dependent_block input, .share_dependent_block select").prop("disabled",true);   
        }
    }
 );
});

이게 나한테 유일하게 통했던 코드였어

element.removeProp('disabled')

주의:removeProp가 아니라removeAttr.

사용하고 있다jQuery 2.1.3여기서.

이 질문에서는 특히 jQuery에 대해 언급하고 있습니다만, jQuery를 사용하지 않고 이 작업을 수행할 경우 바닐라 JavaScript에서는 다음과 같습니다.

elem.removeAttribute('disabled');

특수 선택기를 사용해 보십시오.

동작하지 않음:$('#ID_Unit').removeAttr("disabled");
동작:$('select[id=ID_Unit]:disabled').removeAttr("disabled");

모든 "선택" 컨트롤$('select:disabled').removeAttr("disabled");

"select"는 "type" 등과 같은 제어 유형입니다.

언급URL : https://stackoverflow.com/questions/13626517/how-to-remove-disabled-attribute-using-jquery

반응형