Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX][JavaScript] Wyciąganie danych z obiektu ?
phpamator
post
Post #1





Grupa: Zarejestrowani
Postów: 328
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

Ostrzeżenie: (0%)
-----


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 ....




Ten post edytował phpamator 5.05.2017, 14:06:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
bostaf
post
Post #2





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
phpamator
post
Post #3





Grupa: Zarejestrowani
Postów: 328
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

Ostrzeżenie: (0%)
-----


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. });




Ten post edytował phpamator 5.05.2017, 14:18:21
Go to the top of the page
+Quote Post
bostaf
post
Post #4





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
phpamator
post
Post #5





Grupa: Zarejestrowani
Postów: 328
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

Ostrzeżenie: (0%)
-----


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ę ?

Ten post edytował phpamator 5.05.2017, 17:28:25
Go to the top of the page
+Quote Post
bostaf
post
Post #6





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

Ostrzeżenie: (0%)
-----


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...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 01:45