Jestem trochę zagubiony. jestem coraz to JSON:GroupBy w JavaScript, aby pogrupować dane JSON i zapełnić grupę 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"
}]
I chciałbym umieścić to wszystko w select z opcji i optgroups. Właściwie optgroup powinna być kategoria
chciałbym coś takiego:
<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>
dzisiaj mam tylko się o tym, ponieważ mam zmaga się zbytnio:
$(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");
});
});
});
jako nie widać żadnej grupy optycznej :) Czy jest jakiś sposób na zrobienie tego? Mogę również zmodyfikować mój JSON, jeśli może to ułatwić.
Dzięki za pomoc.
epicka nazwa użytkownika to wszystko, co mam do powiedzenia. – donutdan4114
@ donutdan4114 Dzięki. To było albo "LOOK AT ME! LOOK AT ME!". –
Wielkie dzięki! Zmodyfikowałem mój JSON i zrobiłem tak, jak powiedziałeś! Działa doskonale! – user1108276