2009-10-14 8 views
0
$("select").change(function() { 

       alert($("select option:selected").val()); 

      }); 

OUQuel est le sélecteur le plus correct/le plus efficace?

$("select").change(function() { 

      alert($(this).attr("value")); 

      }); 

Je cherche spécifiquement le sélecteur utilisé dans l'alerte. De mon tester le résultat dans les mêmes valeurs correctes à afficher.

Répondre

3

Ils sont différents. Le premier obtiendra la valeur du premier <option> sélectionné dans le DOM (dans l'un des éléments <select>).

Le second fonctionnera bien, et bien sûr, il y a plusieurs variations qui font la même chose

$("select").change(function() { 
      alert($(this).val()); 
      }); 

$("select").change(function() { 
      alert($('option:selected', this).val()); 
      }); 

nommer un couple

1

Tout d'abord, ils ne sont pas équivalents. Le premier vous donnera la valeur des options sélectionnées de n'importe quel élémentselect tandis que le second vous donnera la valeur seulement de celui que vous avez changé.

Donc, vous devriez absolument utiliser le second exemple.

+0

le premier sera la valeur de la première option sélectionnée dans le DOM –