Jquery sélectionner le changement
<select id="Nazione" name="Nazione">
<option prefix='+93' value='AF' >Afghanistan </option>
<option prefix='+355' value='AL' >Albania </option>
<option prefix='+213' value='DZ' >Algeria </option>
<option prefix='+376' value='AD' >Andorra .... etc
</select>
et ce js
$(document).ready(function() {
$('#Nazione').change(function(){
alert( $(this).find("option:selected").attr('prefix') );
alert( $(this).attr('prefix') );
});
});
J'ai d'alerte NUL...
Pourquoi?
source d'informationauteur Ste | 2011-05-11
Vous devez vous connecter pour publier un commentaire.
Votre code est bien. Voici une démo : http://jsfiddle.net/hKktc/1/
La raison pour laquelle vous n'obtenez pas une valeur pour le deuxième appel d'urgence est parce que l'attribut
prefix
n'existe pas pour leselect
et n'existe que pour laoption
Dans votre code,
$(this)
se réfère à la<select>
pas l'option. Leprefix
attribut n'existe pas sur le<select>
Ce qui va causer le problème avec le deuxième exemple.
La 2ème
alert
retournera null, parce que<select>
n'a pas d'attributprefix
.Qu'est-ce que vous attendez exactement?
Je trouve que la deuxième alerte -
alert( $(this).attr('prefix') );
est à l'origine d'un problème.Comme est, vous recevez une alerte de le numéro de préfixe, puis une alerte de null (causée par la seconde alerte).
Que vous avez probablement envie
.val()
pas.attr('prefix')
pour obtenir la valeur sélectionnée de<select>
.