Question jQuery obtient la valeur de select onChange


J'étais sous l'impression que je pouvais obtenir la valeur d'une entrée de sélection en faisant cela $(this).val(); et en appliquant le onchange paramètre au champ de sélection.

Il semblerait que cela ne fonctionne que si je fais référence à l'ID.

Comment puis-je le faire en utilisant cela.


572
2018-06-24 17:00


origine


Réponses:


Essaye ça-

$('select').on('change', function() {
  alert( this.value );
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select>
    <option value="1">One</option>
    <option value="2">Two</option>
</select>

Vous pouvez également faire référence à l'événement onchange

function getval(sel)
{
    alert(sel.value);
}
<select onchange="getval(this);">
    <option value="1">One</option>
    <option value="2">Two</option>
</select>


1138
2018-06-24 17:02



J'étais sous l'impression que je pouvais obtenir la valeur d'une sélection   entrée en faisant cela $ (this) .val ();

Cela fonctionne si vous vous abonnez discrètement (qui est l'approche recommandée):

$('#id_of_field').change(function() {
    // $(this).val() will work here
});

si tu utilises onselect et mélangez le balisage avec le script, vous devez passer une référence à l'élément en cours:

onselect="foo(this);"

et alors:

function foo(element) {
    // $(element).val() will give you what you are looking for
}

72
2018-06-24 17:03



Ceci est aidé pour moi.

Pour sélectionner:

$('select_tags').on('change', function() {
    alert( $(this).find(":selected").val() );
});

Pour radio / case à cocher:

$('radio_tags').on('change', function() {
    alert( $(this).find(":checked").val() );
});

65
2018-04-09 10:50



Essayez la méthode de délégation d'événement, cela fonctionne dans presque tous les cas.

$(document.body).on('change',"#selectID",function (e) {
   //doStuff
   var optVal= $("#selectID option:selected").val();
});

12
2018-03-17 15:00



Vous pouvez essayer ceci (en utilisant jQuery) -

$('select').on('change', function()
{
    alert( this.value );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<select>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
    <option value="4">Option 4</option>
</select>

Ou peut utiliser simple Vavascript comme ceci-

function getNewVal(item)
{
    alert(item.value);
}
<select onchange="getNewVal(this);">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
    <option value="4">Option 4</option>
</select>


5
2018-05-23 03:51



C'est ce qui a fonctionné pour moi. J'ai essayé tout le reste sans chance:

<html>

  <head>
    <title>Example: Change event on a select</title>

    <script type="text/javascript">

      function changeEventHandler(event) {
        alert('You like ' + event.target.value + ' ice cream.');
      }

    </script>

  </head>

  <body>
    <label>Choose an ice cream flavor: </label>
    <select size="1" onchange="changeEventHandler(event);">
      <option>chocolate</option>
      <option>strawberry</option>
      <option>vanilla</option>
    </select>
  </body>

</html>

Pris à partir de Mozilla


4
2018-01-25 22:11



Pour toutes les sélections, invoquez cette fonction.

$('select').on('change', function()
{
    alert( this.value );
});

Pour seulement un sélectionner:

$('#select_id') 

3
2018-02-14 18:04