He estado tratando de implementar este script que extrae valores de otra página y los ordena alfabéticamente en una tabla. Los tres valores son Nombre - Ciudad - Distrito. El guión funciona perfectamente. Pero además de eso, me gustaría que el script agrupara los valores por ciudad. Así que en lugar de:
--Nombre -- Ciudad -- Distrito --
Nombre1 -- Londres -- Kingsroad
Name3 -- Londres -- Westminster
Nombre4 -- Birmingham -- YardleyMe gustaría que se organice de la siguiente manera, con la columna de la ciudad que abarca 2 columnas.
------ Birmingam -----
Nombre 4 -- Yardley
------ Londres -----
Nombre1 -- Camino Real
Nombre3 -- Westminster
El script que he usado para extraer valores es este:
var fhold =$("#List"); $.get("/memberlist", function(data) { $('.mem-info',data).each(function(){ fhold.append($(this)); }); var items = fhold.children('.mem-info').get(); items.sort(function(a, b) { return $(a).text().toUpperCase().localeCompare($(b).text().toUpperCase()); }); fhold.append(items); }); });Aquí está el HTML para el mismo:
<table id="List" class="display"><tbody> <tr> <td>Name</td> <td>City</td><td>District</td> </tr> </tbody> </table>Así que de nuevo, hasta ahora, funciona bien. Pero quiero que se agrupe por ciudad. Intenté usar esta solución aquí (https://datatables.net/examples/advanced_init/row_grouping.html ) pero creo que solo funciona para valores estáticos. He buscado agrupar valores dinámicamente, pero la mayoría de las correcciones dicen que se requiere una función de clic.
¿Hay alguna manera de hacerlo sin una función de clic/evento? Cualquier ayuda sería apreciada. ¡Muchas gracias!
Usar el método groupby de lodash
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>Puede obtener una referencia del siguiente enlace lodash groupby-method