Estoy un poco perdido. Estoy consiguiendo este JSON:GroupBy en JavaScript para agrupar datos JSON y poblar en optgroup
[{
"id": "210",
"name": "Name 1",
"category": "Category 1"
}, {
"id": "187",
"name": "Name 2",
"category": "Category 1"
}, {
"id": "186",
"name": "Name 3",
"category": "Category 1"
}, {
"id": "185",
"name": "Name 4",
"category": "Category 1"
}, {
"id": "184",
"name": "Name 5",
"category": "Category 1"
}, {
"id": "183",
"name": "Name 6",
"category": "Category 1"
}, {
"id": "182",
"name": "Name 7",
"category": "Category 1"
}, {
"id": "181",
"name": "Name 8",
"category": "Category 2"
}, {
"id": "180",
"name": "Name 9",
"category": "Category 3"
}, {
"id": "178",
"name": "Name 10",
"category": "Category 2"
}]
Y me gustaría poner todo esto en un selecto con opciones y optgroups. En realidad, el optgroup debe ser categoría
me gustaría algo como esto:
<select name="products" class="product" id="product">
<optgroup label="Category 1">
<option value="210">Name 1</option>
<option value="187">Name 2</option>
<option value="186">Name 3</option>
<option value="185">Name 4</option>
...
</optgroup>
<optgroup label="Category 2">
<option value="181">Name 8</option>
<option value="178">Name 10</option>
</optgroup>
<optgroup label="Category 3">
<option value="180">Name 9</option>
</optgroup>
Hoy sólo he hecho esto porque estoy luchando demasiado:
$(document).ready(function() {
$.getJSON("5.php", {
val: $(this).val()
}, function (data) {
$.each(data, function (i, item) {
$("<option/>").attr("value", item.id).append(item.name).appendTo("optgroup");
});
});
});
Como no puede ver ningún grupo de opciones :) ¿Hay alguna manera de hacerlo? También puedo modificar mi JSON si puede hacerlo más fácil.
Gracias por cualquier ayuda.
nombre de usuario EPIC es todo lo que tengo que decir. – donutdan4114
@ donutdan4114 Gracias. Era eso o "¡MÍRAME! ¡MÍRAME!". –
muchas gracias! ¡He modificado mi JSON y he hecho lo que dijiste! ¡Funciona perfectamente! – user1108276