1. Con una cuenta podrás:

    • Publicar preguntas y pedir ayuda
    • Crear tutoriales
    • Acceder a contenido privado
    • Convertirte en un Héroe de la web
    Cerrar notificación
  2. Eres nuevo en la comunidad y necesitas ayuda?
    Sigue estos pasos y recomendaciones antes de publicar tu duda:
    Cerrar notificación

Solucionado Crear contador

Tema en 'Jquery' comenzado por The Boy, 24 de Octubre de 2017.

Estado del tema:
No está abierto para más respuestas.
  1. The Boy

    The Boy
    Moderador
    Miembro del Equipo

    Se incorporó:
    2 de Mayo de 2015
    Mensajes:
    397
    Me gusta recibidos:
    148
    Puntos de trofeos:
    43
    Género:
    Hombre
    Ocupación:
    Desarrollador web
    Localización:
    España
    Página web:
    ¡Muy buenas héroes!

    Hoy no vengo para prestar ayuda, si no al contrario, para que me echéis una mano si podéis, por favor.

    Tengo una tabla con datos, los cuales recupero de una BBDD con PHP.
    Lo que quiero hacer con esta tabla, es contar la cantidad de alumnos que hay matriculados, de forma dinámica con jQuery o JavaScript, me da igual. ¿Problema? Que hay alumnos que están matriculados en distintos cursos, por lo que, un alumno puede salir más de una vez en la tabla. Por ejemplo:

    123. Pepito Gómez - Francés nivel 1
    123. Pepito Gómez - Inglés nivel 3
    456. María Pérez - Alemán nivel 2
    456. María Pérez - Francés nivel 2
    456. María Pérez - Inglés nivel 1

    Los datos son recuperados como ID + Nombre de usuario. A cara del contador, habrían 5 alumnos, pero ¡NO! solo hay 2, pero están matriculados en 6 cosas distintas. ¿Me hago entender? Espero que sí :)

    Captura de pantalla de 2017-10-24 09-18-19.png

    He estado buscando sobre cómo hacerlo con jQuery y he visto que existe la función uniqueSort(). He leído también que está diseñada esta función para contar elementos del DOM y no strings u otros elementos, pero que aún así, sí se puede usar para contar strings, el problema es que no lo he logrado.

    Gracias de antemano a todo aquel que venga a echarme una mano ;)
     
  2. The Boy

    The Boy
    Moderador
    Miembro del Equipo

    Se incorporó:
    2 de Mayo de 2015
    Mensajes:
    397
    Me gusta recibidos:
    148
    Puntos de trofeos:
    43
    Género:
    Hombre
    Ocupación:
    Desarrollador web
    Localización:
    España
    Página web:
    Para aquellos que se encuentren con el mismo problema, al final lo solucioné de la siguiente forma:
    1. Añadí lodash.js.
    2. Usé la función uniq de lodash.
    Código (Javascript):

    totalAlumnos = function() {
      alumnos = $(".filtro_alumno").map(function(key, value){
      return $(value).data('alumno');
      });

      totalAlumnos = _.uniq(alumnos);
      $(".total-alumnos").text(totalAlumnos.length);
    }
     
     
    A AngelKrak le gusta esto.
Estado del tema:
No está abierto para más respuestas.

Comparte esta página