[jquery] jQuery를 사용하여 양식 내의 모든 <input>을 비활성화하는 방법은 무엇입니까?

<form id="target">
....
</form>



답변

이전 버전에서는을 사용할 수 있습니다 attr. jQuery 1.6부터는 prop대신 사용해야 합니다.

$("#target :input").prop("disabled", true);

‘target’내의 모든 양식 요소를 비활성화합니다. 참조 :input:

모든 입력, 텍스트 영역, 선택 및 버튼 요소와 일치합니다.

<input>요소 만 원하는 경우 :

$("#target input").prop("disabled", true);


답변

위의 예는 기술적으로 올바르지 않습니다. 최신 jQuery에 따라 prop()메소드를 사용하지 않도록 설정해야합니다. API 페이지를 참조하십시오.

‘target’내부의 모든 양식 요소를 비활성화하려면 모든 입력, 텍스트 영역, 선택 및 단추 요소와 일치하는 : input 선택기를 사용하십시오.

$("#target :input").prop("disabled", true);

요소 만 원한다면 이것을 사용하십시오.

$("#target input").prop("disabled", true);


답변

또한 더 간결한 방법은 선택기 엔진을 사용하는 것입니다. 따라서 div 또는 양식 부모의 모든 양식 요소를 비활성화하십시오.

$myForm.find(':input:not(:disabled)').prop('disabled',true)


답변

당신은 추가 할 수 있습니다

 <fieldset class="fieldset">

그리고 당신은 전화 할 수 있습니다

 $('.fieldset').prop('disabled', true);


답변

쓰기 만하면 모든 양식을 비활성화 할 수 있습니다.

jQuery 1.6 이상

$("#form :input").prop("disabled", true);

jQuery 1.5 이하

$("#form :input").attr('disabled','disabled');


답변

이 한 줄을 사용하면 양식의 모든 입력 필드를 비활성화 할 수 있습니다

$('form *').prop('disabled', true);


답변

Gnarf 는 최종 답변 (버전 1.6에서 jQuery API의 변경 사항 포함)을 제공했습니다 .