Pregunta jQuery obtiene el valor de select onChange


Tenía la impresión de que podía obtener el valor de una entrada seleccionada haciendo esto $(this).val(); y aplicando el onchange parámetro para el campo de selección.

Parece que solo funciona si hago referencia a la ID.

¿Cómo lo hago usando esto?


572
2018-06-24 17:00


origen


Respuestas:


Prueba esto-

$('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>

También puede hacer referencia con el evento 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



Tenía la impresión de que podía obtener el valor de un producto seleccionado   entrada haciendo esto $ (this) .val ();

Esto funciona si te suscribes discretamente (que es el enfoque recomendado):

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

si utiliza onselect y mezcle el marcado con el script que necesita para pasar una referencia al elemento actual:

onselect="foo(this);"

y entonces:

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

72
2018-06-24 17:03



Esto me fue ayudado.

Para seleccionar:

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

Para radio / casilla de verificación:

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

65
2018-04-09 10:50



Pruebe el método de delegación de eventos, esto funciona en casi todos los casos.

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

12
2018-03-17 15:00



Puedes probar esto (utilizando 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>

O puede usar un simple Vavascript como este-

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



Esto es lo que funcionó para mí. Intenté todo lo demás sin suerte:

<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>

Tomado de Mozilla


4
2018-01-25 22:11



Para todas las selecciones, invoque esta función.

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

Para solo uno seleccione:

$('#select_id') 

3
2018-02-14 18:04



Busque jQuery sitio 

HTML:

<form>
  <input class="target" type="text" value="Field 1">
  <select class="target">
    <option value="option1" selected="selected">Option 1</option>
    <option value="option2">Option 2</option>
  </select>
</form>
<div id="other">
  Trigger the handler
</div>

JAVASCRIPT:

$( ".target" ).change(function() {
  alert( "Handler for .change() called." );
});

El ejemplo de jQuery:

Para agregar una prueba de validez a todos los elementos de entrada de texto:

$( "input[type='text']" ).change(function() {
  // Check input( $( this ).val() ) for validity here
});

2
2018-01-15 15:06



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

<select id="select_id">
    <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>

1
2017-08-16 13:27



Tenga en cuenta que si no funcionan, puede deberse a que el DOM no se ha cargado y su elemento aún no se ha encontrado.

Para solucionarlo, coloque el script al final del cuerpo o use el documento listo

$.ready(function() {
    $("select").on('change', function(ret) {  
         console.log(ret.target.value)
    }
})

0
2018-04-19 15:04