2017-05-15 4 views
0

J'ai une question de sélection Jquery que je n'ai pas réussi à comprendre.Pourquoi mon premier sélecteur ne fonctionne-t-il pas?

donné une boîte de sélection dans le document comme

<select id="N7_e7a18384-dfd4-4d6e-aaf2-7e221fde1fb3__WeightTypeID" 
name="N7[e7a18384-dfd4-4d6e-aaf2-7e221fde1fb3].WeightTypeID" disabled=""> 
<option selected="selected" value="1">Actual</option> 
<option value="2">Estimated</option> 
<option value="3">Gross</option> 
</select> 

Lorsque je tente d'utiliser un sélecteur comme

$("select[id^='WeightTypeID']").prop("disabled", false); 

il ne semble pas sélectionner et désactiver la liste déroulante.

Cependant,

$("form").find(":input").prop("disabled", false); 

fonctionne très bien. Quelqu'un peut-il expliquer pourquoi ce premier sélecteur ne ramasse pas la liste déroulante? Je voudrais comprendre pour ne pas perdre de temps à nouveau. Je suis vraiment perplexe.

+0

ce sélecteur signifie id^= 'WeightTypeID', id commence par "WeightTypeID" –

+1

'^ = 'signifie commence par la recherche – j08691

+0

-fu Mon est faible, je ne trouve pas le dupetarget I * SAVEZ * doit exister ... –

Répondre

1

Parce que name^=value est le sélecteur attribute begins with. Pour seulement "contient" vous utiliseriez *=. Pour "se termine par", $=.

+0

@ j08691: Merci! Des doigts idiots ... –

+0

Vous avez raison! Je les ai changés. Je vous remercie!!! –