Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][JavaScript] Wyciąganie danych z obiektu ?
Forum PHP.pl > Forum > Przedszkole
phpamator
Panowie i Panie, znowu mam pytanie,
dostaję dane

clear_data.push({
town: data.town,
postcode: data.postcode,
pcounty: data.postal_county,
tcounty: data.traditional_county,
dep_name: item.department_name,
line_1: item.line_1,
line_2: item.line_2,
org: item.organisation_name,
udprn: item.udprn,
label: fullLabel,
value: data.postcode
});

nie wyrzucając ich nigdzie na zewnątrz chciałbym używając jQuery/JS
wygenerować z tego np <select></select>, nigdy wcześniej nie robiłem nic takiego w JS i nie wiem jak się do tego zabrać

edit: no tak, oczywiście to tworzy array z takimi danymi.
siłą rzeczy będzie to wyglądało tak jak to powyżej tyle, że z danymi .... chyba biggrin.gif
tak wygląda zawartość po JSON.stringify()
  1. [{"town":"BIG CITY","postcode":"AA1 1AA","pcounty":"POSTAL COUNTY","tcounty":"TRADITIONAL COUNTY","dep_name":"","line_1":"1 HIGH STREET","line_2":"CRAFTY VALLEY","org":"THE BAKERY","udprn":"12345678","label":"THE BAKERY, 1 HIGH STREET, CRAFTY VALLEY","value":"AA1 1AA"},{"town":"BIG CITY","postcode":"AA1 1AA","pcounty":"POSTAL COUNTY","tcounty":"TRADITIONAL COUNTY","dep_name":"","line_1":"3 HIGH STREET","line_2":"CRAFTY VALLEY","org":"FILMS R US","udprn":"12345679","label":"FILMS R US, 3 HIGH STREET, CRAFTY VALLEY","value":"AA1 1AA"},{"town":"BIG CITY","postcode":"AA1 1AA","pcounty":"POSTAL COUNTY","tcounty":"TRADITIONAL COUNTY","dep_name":"","line_1":"7 HIGH STREET","line_2":"CRAFTY VALLEY","org":"FAMILY BUTCHER","udprn":"12345680","label":"FAMILY BUTCHER, 7 HIGH STREET, CRAFTY VALLEY","value":"AA1 1AA"},{"town":"BIG CITY","postcode":"AA1 1AA","pcounty":"POSTAL COUNTY","tcounty":"TRADITIONAL COUNTY","dep_name":"","line_1":"LITTLE COTTAGE","line_2":"17 HIGH STREET, CRAFTY VALLEY","org":"","udprn":"12345682","label":"LITTLE COTTAGE, 17 HIGH STREET, CRAFTY VALLEY","value":"AA1 1AA"},{"town":"BIG CITY","postcode":"AA1 1AA","pcounty":"POSTAL COUNTY","tcounty":"TRADITIONAL COUNTY","dep_name":"","line_1":"BIG HOUSE, HIGH STREET","line_2":"CRAFTY VALLEY","org":"","udprn":"12345681","label":"BIG HOUSE, HIGH STREET, CRAFTY VALLEY","value":"AA1 1AA"}]



no i teraz trzeba wyciągnąć te dane i utworzyć ..... <select> <option>+data.costam+</option></select>
żebym mógł pokazać na stronie listę rozwijaną z np nazwą ulicy ....


bostaf
clear_data.push to jakaś funkcja/metoda, która coś robi z obiektem (tymi danymi w nawiasach klamrowych {}), który jest do niej przekazany.
Pytanie: chcesz zrobić selecta z tego obiektu czy z wyniku funkcji? Jeśli z wyniku funkcji, to please wrzuć nam ten wynik.
phpamator
po przepuszczeniu danych przez JSON.stringify
  1. console.log('Data: '+JSON.stringify(data));
  2. console.log('Clear: '+JSON.stringify(clear_data));

dostajemy:

  1.  
  2. JSON.stringify(data): {"delivery_points":[{"organisation_name":"THE BAKERY","department_name":"","line_1":"1 HIGH STREET","line_2":"CRAFTY VALLEY","udprn":"12345678","dps":"1A"},{"organisation_name":"FILMS R US","department_name":"","line_1":"3 HIGH STREET","line_2":"CRAFTY VALLEY","udprn":"12345679","dps":"1B"},{"organisation_name":"FAMILY BUTCHER","department_name":"","line_1":"7 HIGH STREET","line_2":"CRAFTY VALLEY","udprn":"12345680","dps":"1C"},{"organisation_name":"","department_name":"","line_1":"LITTLE COTTAGE","line_2":"17 HIGH STREET, CRAFTY VALLEY","udprn":"12345682","dps":"2A"},{"organisation_name":"","department_name":"","line_1":"BIG HOUSE, HIGH STREET","line_2":"CRAFTY VALLEY","udprn":"12345681","dps":"1D"}],"delivery_point_count":5,"postal_county":"POSTAL COUNTY","traditional_county":"TRADITIONAL COUNTY","town":"BIG CITY","postcode":"AA1 1AA"}
  3. (index):61


po utworzeniu array'a
  1.  
  2. JSON.stringify(clear_data): [{"town":"BIG CITY","postcode":"AA1 1AA","pcounty":"POSTAL COUNTY","tcounty":"TRADITIONAL COUNTY","dep_name":"","line_1":"1 HIGH STREET","line_2":"CRAFTY VALLEY","org":"THE BAKERY","udprn":"12345678","label":"THE BAKERY, 1 HIGH STREET, CRAFTY VALLEY","value":"AA1 1AA"},{"town":"BIG CITY","postcode":"AA1 1AA","pcounty":"POSTAL COUNTY","tcounty":"TRADITIONAL COUNTY","dep_name":"","line_1":"3 HIGH STREET","line_2":"CRAFTY VALLEY","org":"FILMS R US","udprn":"12345679","label":"FILMS R US, 3 HIGH STREET, CRAFTY VALLEY","value":"AA1 1AA"},{"town":"BIG CITY","postcode":"AA1 1AA","pcounty":"POSTAL COUNTY","tcounty":"TRADITIONAL COUNTY","dep_name":"","line_1":"7 HIGH STREET","line_2":"CRAFTY VALLEY","org":"FAMILY BUTCHER","udprn":"12345680","label":"FAMILY BUTCHER, 7 HIGH STREET, CRAFTY VALLEY","value":"AA1 1AA"},{"town":"BIG CITY","postcode":"AA1 1AA","pcounty":"POSTAL COUNTY","tcounty":"TRADITIONAL COUNTY","dep_name":"","line_1":"LITTLE COTTAGE","line_2":"17 HIGH STREET, CRAFTY VALLEY","org":"","udprn":"12345682","label":"LITTLE COTTAGE, 17 HIGH STREET, CRAFTY VALLEY","value":"AA1 1AA"},{"town":"BIG CITY","postcode":"AA1 1AA","pcounty":"POSTAL COUNTY","tcounty":"TRADITIONAL COUNTY","dep_name":"","line_1":"BIG HOUSE, HIGH STREET","line_2":"CRAFTY VALLEY","org":"","udprn":"12345681","label":"BIG HOUSE, HIGH STREET, CRAFTY VALLEY","value":"AA1 1AA"}]


z którego formatu lepiej/łatwiej dalej przetwarzać dane i jak z tego zbudować <select>?

Array mogę przepuścić przez:
  1. $.each(clear_data, function(key, value) {
  2. console.log(value);
  3. });


bostaf
Czyli danymi wejściowymi jest tablica obiektów. Selecta można wypełnić pętlą forEach:
[JAVASCRIPT] pobierz, plaintext
  1. var mojSelect = document.getElementById("mojSelect");
  2.  
  3. dane.forEach( function (obiekt)
  4. {
  5. var mojOption = document.createElement('option');
  6. mojOption.innerHTML = obiekt.town;
  7. mojOption.value = obiekt.town;
  8. mojSelect.appendChild(mojOption);
  9. });
[JAVASCRIPT] pobierz, plaintext


Tu przykładowy fiddle
phpamator
Rozumiem, super, a jak do tego dołożyć np id, id albo generowane iterowane albo którąś z wartości z tablicy żebym mógł wykorzystać np do wybierania pozostałych danych z tej tablicy ?
?

Rozumiem, a jak do tego wmontować np klasę ?
bostaf
Cytat(phpamator @ 5.05.2017, 16:55:20 ) *
Rozumiem, super, a jak do tego dołożyć np id, id albo generowane iterowane albo którąś z wartości z tablicy żebym mógł wykorzystać np do wybierania pozostałych danych z tej tablicy ?
?

Dokładnie tak. Nie ma innej opcji.
1. Id generowanie z iteratora byłoby "lokalne" i wymagałoby dorobienia jakiejś logiki wiążącej id z danymi na stałe, do późniejszego wykorzystania, bo takie podejrzewam będzie.
2. Id zaadaptowane z jednej z istniejących wartości wymagałoby upewnienia się, że dane pole jest zawsze unikalne i nadaje się na id patrząc na późniejsze wykorzystanie - np. późniejsze przetwarzanie może wymagać, żeby id miało fformat liczbowy, albo żeby nie miało znaków specjalnych lub spacji...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.