Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

252
Vistas
Adjunte el valor obtenido de AJAX con Select2

Estoy tratando de adjuntar el valor obtenido de AJAX con Select2 . Mi código JavaScript es como el siguiente.

 (function($) { $(document).ready(function() { $(".volunteer").on("click", function (event) { let element_id = event.target.id; // Check if select is already loaded if (!$(this).has("select").length) { var cellEle = $(this); // Populate select element cellEle.html(`<select class="js-example-basic-multiple" multiple="multiple"></select>`); // Initialise select2 let selectEle = cellEle.children("select").select2({ ajax: { url: "/wordpressbosta/matt/wp-admin/admin-ajax.php", dataType: 'json', data: function (params) { return { q: element_id, action: 'get_data' }; }, type: "post", processResults: function(data) { var options = []; if ( data ) { $.each( data, function( index, text ) { options.push( { text: text } ); }); } return { results: options }; } } }); } }); }); })(jQuery)

Estoy obteniendo resultados como a continuación.

ingrese la descripción de la imagen aquí

Si hago clic en cualquier valor, no se establece en el cuadro de selección. Los valores no funcionan.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Select2 requiere que cada opción tenga una propiedad de id y una propiedad de text . En el código anterior, el método processResults devuelve una matriz de objetos que contienen solo una propiedad de text , sin una id . Al agregar objetos a la matriz en processResults , se debe incluir una id :

 options.push({ id: id, text: text });

Los detalles sobre este formato se pueden encontrar en https://select2.org/data-sources/formats . Según esta página:

No se permiten id en blanco o una id con un valor de 0 .

Puede usar text como valor de id si es único, o usar index + 1 (+ 1 para evitar un valor de 0). En el siguiente ejemplo, se utiliza text de código.

 processResults: function(data) { var options = []; if (data) { $.each(data, function (index, text) { options.push({ id: text, text: text }); }); } return { results: options }; }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda