Data van 2 inputs koppelen en in array stoppen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ben Pastoor

Ben Pastoor

16/01/2022 23:45:42
Quote Anchor link
Hallo,


Graag zou ik een duwtje in de goede richting willen hebben met het volgende.
Ik ben bezig om bij producten specificaties toe te voegen.
Dit doe ik met een select option input en een text input.
De select option bied diversen specificaties die je kunt selecteren en je vult de waarde in het text input veld.
Met JavaScript kun je meerdere select en input elementen toevoegen.

Deze wil ik opslaan als een array zodat ik deze dmv een foreach kan tonen.
Het opslaan naar een array doe ik door
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<select name="spec_prop[]">

En
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="text" name="spec_prop_value[]"/>


Nu slaat hij alle waardes van de select elementen achter elkaar op en dit gebeurt het zelfde bij de text input waardes.

Wat ik graag zou willen is dat ik met een simpele foreach zowel de select option waarde en de waarde van de text input kan presenteren.
Hoe kan ik deze nu het beste opslaan? Kan ik deze bijvoorbeeld een id meegeven. Of kan ik array met levels maken?
 
PHP hulp

PHP hulp

27/05/2022 20:46:28
 
- Ariën -
Beheerder

- Ariën -

16/01/2022 23:56:06
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<select name="data[spec_prop]">
 <input type="text" name="data[spec_prop_value]"/>


En dan $_POST['data'] uitlezen.
Zoiets?
 
Ben Pastoor

Ben Pastoor

17/01/2022 19:46:04
Quote Anchor link
Hi Ariën,


Dat is inderdaad waar ik ongeveer naar opzoek was.
Maar zit nog met een enkel punt.

Ik heb bijvoorbeeld een select option met "materialen" hierbij geef ik in de input ernaast de waarde "ijzer".
Dan voeg ik met javascript nog een div toe met een select en een input.
Hierbij kies ik nogmaals voor de optie "materialen" en geef nu de input "hout".

Dan doe ik hetzelfde met bijvoorbeeld de select option "kleur".

Nu zou ik de array willen opbouwen zoals

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

$data
= array(
    "materiaal" => array(
        'ijzer',
        'hout',
    ),

    
    "kleur" => array(
        'blauw',
        'geel',
    ),
);

?>


Dan zou ik dus met javascript moeten regelen dat de select option waarde in de eerste push array square brackets komt te staan
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<select name="data[materiaal]">
<input type="text" name="data[materiaal][]"/>
<select name="data[kleur]">
<input type="text" name="data[kleur][]"/>


Of is er een alternatief?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.