2013-07-09 3 views
13

jQuery로 레이블을 어떻게 비활성화 할 수 있습니까? 나는 시도 :jQuery를 사용하여 레이블을 비활성화하는 방법은 무엇입니까?

$('#some-id').prop('disabled', true);

하지만 회색 아니에요.

내 HTML은 다음과 같습니다

+0

레이블을 회색으로 바꿔 CSS 규칙을 설정해야합니다. –

+0

이미 stackoverflow에서 요청되었습니다. http://stackoverflow.com/questions/7330541/how-can-i-change-a-labels-color-when-its -input-is-disabled – mguimard

+1

레이블을 비활성화하면 라벨의 색상이 자동으로 변경되지 않습니다. CSS에 해당 클래스를 정의해야합니다. –

답변

17

labels<label for="some-id">Label Here</label><input id="some-id"/>는 본질적으로 내장 비활성화 특성이없는 당신은 그들에게 자신을 비활성화하는 클래스를 추가해야합니다..

뭔가 같은 :

.disabled { 
    color: darkgrey; 
    background-color: grey; 
} 

그리고 당신의 요소에 클래스를 추가 :

$('#some-id').addClass('disabled'); 
1

당신은이 같은 입력을 해제 할 수 있습니다

$("#test").attr("disabled", "disabled"); 

그것은 주목해야한다 레이블을 사용하지 않도록 설정할 수는 없습니다. 을 사용하려는 경우을 사용 중지 한 경우 텍스트의 색상을 회색으로 변경하는 것이 좋습니다.

$("#test").css("color", "#666"); 
+0

@Downvoter : 설명해 주시겠습니까? –

+2

그 downvote는 편집 이전이었고 아마도'.attr()'또는 다른 것을 사용하여 레이블을 비활성화 할 수 없었기 때문일 것입니다 – Bojangles

4

레이블을 사용하지 않도록 설정하려면 연결된 양식 컨트롤을 사용하지 않도록 설정하십시오.

그래도 레이블의 모양은 변경되지 않습니다. 적용 할 CSS를 변경해야하기 때문입니다. 이는 요소에서 클래스를 추가 (또는 제거)하고 해당 클래스와 일치하는 기존 CSS 규칙 세트를 갖는 것이 가장 좋습니다.

0

입력을 비활성화 할 때 레이블에 비활성화 된 클래스를 추가해야합니다. 당신은 같은 장소에 모든 코드를 유지하려는 경우이 같은 그것을 할 수 : JSFiddle example 작업

$('#some-id, [for="some-id"]').prop('disabled', true).addClass('disabled'); 

.

관련 문제