처음에는 입력을 비활성화 한 다음 링크를 클릭하면 활성화 할 수 있습니다.
이것은 지금까지 시도한 것이지만 작동하지 않습니다.
HTML :
<input type="text" disabled="disabled" class="inputDisabled" value="">
jQuery :
$("#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'));
});
답변
prop()
jQuery를 사용할 때 항상 메소드를 사용하여 요소를 사용 또는 사용 안함으로 설정하십시오 (이유는 아래 참조).
귀하의 경우에는 다음과 같습니다.
$("#edit").click(function(event){
event.preventDefault();
$('.inputDisabled').prop("disabled", false); // Element(s) are now enabled.
});
/ 를
prop()
사용 하여 이것을 할 수있을 때 왜 사용 합니까?attr()
removeAttr()
기본적으로, prop()
얻거나 설정할 때 사용되어야한다 특성 (예 : autoplay
, checked
, disabled
및 required
다른 사람의 사이에).
을 사용 removeAttr()
하면 disabled
속성 자체를 완전히 제거하는 반면 prop()
속성의 기본 부울 값을 false로 설정하는 것입니다.
/을 사용하여 수행 할 수는 있지만 수행 해야 한다는 의미는 아닙니다 (이 경우와 같이 이상하고 문제가있는 행동을 일으킬 수 있음).attr()
removeAttr()
다음 추출 ( prop () 의 jQuery 문서 에서 발췌 )은 이러한 요점을보다 자세히 설명합니다.
“특정 상황에서는 속성과 속성의 차이가 중요 할 수 있습니다. jQuery 1.6 이전에는
.attr()
메소드가 일부 속성을 검색 할 때 특성 값을 고려하여 일관성이없는 동작이 발생할 수 있습니다. jQuery 1.6부터이.prop()
메소드는 명시 적으로 검색하는 방법을 제공합니다 속성 값을.attr()
검색 하는 동안 속성 을
검색합니다. ““속성은 일반적으로 일련 HTML 특성을 변화시키지 않고 DOM 요소의 동적 상태에 영향을 준다. 예를 포함하는
value
입력 요소의 특성은disabled
입력 및 버튼 속성, 또는checked
체크 박스의 속성..prop()
방법을 설정하기 위해 사용되어야disabled
하고checked
대신.attr()
방법은..val()
방법은 얻고 설정하는 데 사용되어야한다
value
. “
답변
<input type="text" disabled="disabled" class="inputDisabled" value="">
<button id="edit">Edit</button>
$("#edit").click(function(event){
event.preventDefault();
$('.inputDisabled').removeAttr("disabled")
});
답변
비활성화 된 속성 사용을 제거하려면
$("#elementID").removeAttr('disabled');
비활성화 된 속성 사용을 추가하려면
$("#elementID").prop("disabled", true);
즐겨 🙂
답변
이렇게 사용하십시오
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; });
답변
이것을 쉽게 설정할 수 있다고 생각했습니다.
$(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
여기를 사용하고 있습니다.