Foros del Web » Programando para Internet » Jquery »

Como enviar por ajax grupo de checkbox marcado o sin marcar

Estas en el tema de Como enviar por ajax grupo de checkbox marcado o sin marcar en el foro de Jquery en Foros del Web. hola amigos tengo un formulario con una matriz de checkbox y necesito enviar por ajax un array ese envio lo debo de hacer cuando se ...
  #1 (permalink)  
Antiguo 04/01/2015, 19:57
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Como enviar por ajax grupo de checkbox marcado o sin marcar

hola amigos tengo un formulario con una matriz de checkbox y necesito enviar por ajax un array ese envio lo debo de hacer cuando se marque o desmarque algun checkbox

este es mi codigo
Código Javascript:
Ver original
  1. $(function(){
  2. $('input[type="checkbox"]').change(function(){
  3.  var checkboxValues = new Array();
  4.     $('input[name="estaciones[]"]:checked').each(function() {
  5.           var id=$(this).attr('id');
  6.    
  7.           var value=$(this).val();
  8.           if ($(this).prop('checked')){
  9.               checkboxValues.push($(this).val());
  10.           }
  11.         });
  12.          $.ajax({
  13.           type: "GET",
  14.           url: "getEstaciones",
  15.           data: {info: checkboxValues },
  16.           success: function (result) {
  17.           var estaciones = result;
  18.           alert(estaciones);
  19.           }
  20.     });
  21. });
  #2 (permalink)  
Antiguo 05/01/2015, 23:00
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Como enviar por ajax grupo de checkbox marcado o sin marcar

Creo que sería mejor si guardaras todos los valores marcados a la vez mediante un formulario, ten en cuenta que puedes llegar a saturar al servidor con tantas peticiones.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 06/01/2015, 18:08
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: Como enviar por ajax grupo de checkbox marcado o sin marcar

Alexis88 gracias por responder, te voy a poner en contexto para que me des tu opinion:
Tengo un grupo de checkbox los cuales al cargar la pagina estan chequeados, el objetivo de la pagina es que cuando el usuario desmarque algun checkbox no colocoque un marcador en un mapa de google maps y si chequea el checkbox si se debe de marcar en el mapa.


Código PHP:
Ver original
  1. @foreach($tipos as $tipo)
  2.     <input type="checkbox" name="estaciones[]" value="{{ $tipo->id }}" id="{{ $tipo->id }}" checked="">{{ $tipo->nombre }} <br>
  3. @endforeach

Código Javascript:
Ver original
  1. $(function(){
  2. $('input[type="checkbox"]').change(function(){
  3.  var checkboxValues = new Array();
  4.     $('input[name="estaciones[]"]:checked').each(function() {
  5.           var id=$(this).attr('id');
  6.    
  7.           var value=$(this).val();
  8.           if ($(this).prop('checked')){
  9.               checkboxValues.push($(this).val());
  10.           }
  11.         });
  12.          $.ajax({
  13.           type: "GET",
  14.           url: "getEstaciones",
  15.           data: {info: checkboxValues },
  16.           success: function (result) {
  17.           var estaciones = result;
  18.            //Aqui coloco el marcado en el mapa de google maps
  19.           }
  20.     });
  21. });

El problema es cuando desmarco un checkbox no puedo quitar el marcador del mapa
  #4 (permalink)  
Antiguo 07/01/2015, 21:46
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: Como enviar por ajax grupo de checkbox marcado o sin marcar

lo solucione de una manera pero no me parece la mejor manera, obtengo la longitud del array y cargo nuevamente el mapa

Código Javascript:
Ver original
  1. $(function(){
  2. $('input[type="checkbox"]').change(function(){
  3.  var checkboxValues = new Array();
  4.     $('input[name="estaciones[]"]:checked').each(function() {
  5.           var id=$(this).attr('id');
  6.    
  7.           var value=$(this).val();
  8.           if ($(this).prop('checked')){
  9.               checkboxValues.push($(this).val());
  10.           }
  11.         });
  12.  
  13.          var n = $('input[name="estaciones[]"]:checked').length;
  14.          if (n == 0) {
  15.           var mapOptions = {
  16.           zoom: 10,
  17.           mapTypeId:google.maps.MapTypeId.TERRAIN,
  18.          center: new google.maps.LatLng(4.725620698589212, -75.38406372070312)
  19.   };
  20.   map = new google.maps.Map(document.getElementById('map-canvas'),
  21.       mapOptions);
  22.  
  23.  
  24.          } else{
  25.          var mapOptions = {
  26.           zoom: 10,
  27.           mapTypeId:google.maps.MapTypeId.TERRAIN,
  28.     center: new google.maps.LatLng(4.725620698589212, -75.38406372070312)
  29.   };
  30.   map = new google.maps.Map(document.getElementById('map-canvas'),
  31.       mapOptions);
  32.          };
  33.  
  34.          $.ajax({
  35.           type: "GET",
  36.           url: "getEstaciones",
  37.           data: {info: checkboxValues },
  38.           success: function (result) {
  39.           var estaciones = result;
  40.            //Aqui coloco el marcado en el mapa de google maps
  41.           }
  42.     });
  43. });

Etiquetas: ajax, checkbox, grupo, marcar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:47.