2013-07-09 17 views
13

Come posso disabilitare un'etichetta con jQuery? Ho provato:Come disabilitare un'etichetta con jQuery?

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

ma non è in grigio.

mio HTML è: <label for="some-id">Label Here</label><input id="some-id"/>

+0

È necessario impostare una regola css per rendere grigia l'etichetta –

+0

Già richiesta su stackoverflow: http://stackoverflow.com/questions/7330541/how-can-i-change-a-labels-color-when-its -input-is-disabled – mguimard

+1

L'etichetta non cambierà automaticamente il colore quando lo disabiliti. Devi definire una classe corrispondente nel tuo CSS. –

risposta

17

labels non hanno una proprietà disabilitazione intrinsecamente costruito nel Avrete bisogno di aggiungere una classe per disabilitare da soli..

Qualcosa di simile:

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

E per aggiungere la classe al vostro elemento:

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

è possibile disattivare un ingresso in questo modo:

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

Si deve notare che non è possibile disabilitare un'etichetta, in quanto non accetta alcun input per iniziare. Se lo desideri per look disattivato, potresti decidere di cambiare il colore del testo in grigio.

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

@Downvoter: cura di spiegare? –

+2

Quel downvote era prima della modifica e probabilmente era perché non puoi disabilitare un'etichetta usando '.attr()' o qualsiasi altra cosa – Bojangles

4

Per disabilitare un'etichetta, disabilitare il controllo del modulo a cui è associato.

Tuttavia, ciò non cambierà l'aspetto dell'etichetta, per cui è necessario modificare il CSS che si applica ad esso. È meglio aggiungere (o rimuovere) una classe dall'elemento (e avere un set di regole CSS preesistente corrispondente a quella classe).

0

È necessario aggiungere una classe disabilitata all'etichetta quando si disabilita l'input. Si potrebbe fare in questo modo, se si desidera mantenere tutto il codice nello stesso luogo:

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

lavoro JSFiddle example.

Problemi correlati