(AJAX) Som in while loop

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tom Dollar

Tom Dollar

01/04/2025 20:39:48
Quote Anchor link
Beste,

Ik heb een while loop die ik uit de DB haal.
Hier zou ik graag dmv jquery een berekening op los laten.

De berekening werkt maar wordt meegenomen in alle data van de while loop en niet per regel.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<script>
$(function () {
   $(".form_container").change(function () {

     var aantal = $(this).find('.aantal').val();
     var kostprijs = $(this).find('.kostprijs').val();
     $(this).find('.totaal').val(aantal*kostprijs);
   });
  });

</script>
 
PHP hulp

PHP hulp

19/04/2025 17:23:15
 
Adoptive Solution

Adoptive Solution

02/04/2025 16:54:05
 
Tom Dollar

Tom Dollar

02/04/2025 20:17:33
Quote Anchor link
@Adoptive
Deze oplossing haalt de gegevens uit de DB.
Ik heb een input type="number" en de prijs komt uit de DB vanuit de WHILE loop.
Wanneer men het input veld vuld moet deze live de berekening maken.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<td><input type="text" name="positie[]" placeholder="Geef een positie op"></td>
                <td><input type="number" class="aantal" name="aantal[]" ></td>
                <td><input type="" class="kostprijs" name="kostprijs" value="<?php echo h($montage_opties['kostprijs']); ?>"></td>
                <td><input type="number" id="spec_total" lang="nl-NL" name='optie_prijs' class="optie_total1" readonly></td>
Gewijzigd op 02/04/2025 20:20:00 door Tom Dollar
 
- SanThe -

- SanThe -

02/04/2025 21:50:18
Quote Anchor link
Bedoel je zoiets?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<td><input type="text" name="positie[]" placeholder="Geef een positie op"></td>
<td><input type="number" class="aantal" name="aantal[]" onchange="document.getElementById('spec_total').value=this.value*document.getElementById('kostprijs').value);" ></td>
<td><input id="kostprijs" type="" class="kostprijs" name="kostprijs" value="<?php echo h($montage_opties['kostprijs']); ?>"></td>
<td><input type="number" id="spec_total" lang="nl-NL" name='optie_prijs' class="optie_total1" readonly></td>
Gewijzigd op 02/04/2025 21:51:28 door - SanThe -
 
Adoptive Solution

Adoptive Solution

02/04/2025 21:50:22
Quote Anchor link
Alle stukjes code tonen geen while loop, geen ‘iets halen uit de db’ of wat dan ook.

Dan maar dit proberen : live search.

https://www.cloudways.com/blog/live-search-php-mysql-ajax/

https://www.w3schools.com/php/php_Ajax_LiveSearch.asp

Toevoeging op 02/04/2025 22:02:37:

En misschien brengt dit je op een idee.

https://github.com/TheRealJAG/autocomplete
 
Tom Dollar

Tom Dollar

02/04/2025 23:04:06
Quote Anchor link
@SanThe

De code werkt nog niet helemaal, maar dit is wel wat ik zoek.
Ik wist niet dat je de functie ook in de regel zelf kan plaatsen.
 
- SanThe -

- SanThe -

03/04/2025 00:10:08
Quote Anchor link
Ik heb het hier even getest en het werkte.
Heb je wel hier een id bijgezet?
<input id="kostprijs" type="" class="kostprijs"
 
Tom Dollar

Tom Dollar

04/04/2025 21:14:27
Quote Anchor link
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
15
16
17
18
19
20
21
22
23
24
25
26
27
            <table class="quote_table" id="calc_inkoop">
              <tr>
                <th>Opt</th>
                <th></th>
                <th>Benaming</th>
                <th>Positie</th>
                <th>Aantal</th>
                <th>Prijs</th>
                <th>Totaal</th>
              </tr>

              <?php $montage_opties_set = find_all_systeemmontages_dropdown2($type); ?>
              <?php while($montage_opties = mysqli_fetch_assoc($montage_opties_set)) { ?>

              <tr>
                <td><?php echo h($montage_opties['ttc']); ?></td>
                <td><input type="hidden" name="montage_id[]" value="<?php echo h($montage_opties['id']); ?>"></td>
                <td><?php echo h($montage_opties['benaming']); ?></td>
                <td><input type="text" name="positie[]" placeholder="Geef een positie op"></td>
                <td><input type="number" class="aantal" name="aantal[]" onchange="document.getElementById('total').value=document.this.value*document.getElementById('prijs').value);" ></td>
                <td><input type="number" class="kostprijs" id="prijs" name="kostprijs" value="<?php echo h($montage_opties['kostprijs']); ?>"></td>
                <td><input type="number" id="total" name='optie_prijs' class="optie_total1" readonly></td>

              </tr>

              <?php  } mysqli_free_result($montage_opties_set); ?>
            </table>
Gewijzigd op 04/04/2025 21:15:21 door Tom Dollar
 



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.