Ekstrak data daripada berbilang kotak input menggunakan gelung foreach Jquery
P粉278379495
P粉278379495 2023-08-31 19:09:32
0
1
530
<p>Saya sedang membuat pesanan untuk projek. Saya menggunakan gelung Foreach untuk menarik data daripada pangkalan data ke dalam jadual yang saya buat. Walau bagaimanapun, apabila saya mendarabkan data kuantiti dan harga unit, kod tersebut hanya berfungsi untuk data dalam baris pertama jadual. Bagaimanakah saya boleh mengubah suai kod ini untuk semua data gelung masuk? </p> <p>Keranjang belanja.php: </p> <pre class="brush:php;toolbar:false;"><form action="" kaedah="POST"> <table class="jadual jadual-sm mb-3 teks-pusat jajar-tengah"> <kepala> <tr> <th>Nama Produk</th> <th>Kuantiti</th> <th>Harga Seunit</th> <th>Jumlah Harga</th> </tr> </kepala> <tbody> <?php foreach($ProductTbl sebagai $productdata){ ?> <tr> <td><?= $productdata->productname ?></td> <td><kelas input="w-25 kuantiti pusat teks"jenis="teks"nilai="0"></td> <td><kelas input="w-25 text-center unitprice"type="text"name="unitprice[]"nilai="<?= $productdata->unitprice ?> ;" disabled="disabled"></td> <td><input class="w-25 text-center totalprice"text"nama="totalprice="" ;/td> </tr> <?php } ?> </tbody> </table></pre> <p>Kod JavaScript: </p> <pre class="brush:php;toolbar:false;">$(document).ready(function() { $('. quantity').keyup(function() { var kuantiti = $('. quantity').val(); var unitprice = $('.unitprice').val(); var totalprice = $('.totalprice').val(); var result = kuantiti * unitprice; $('.totalprice').val(hasil); }); }); });</pre> <p>Cetak: Gambar</p> <p>Bagaimanakah saya boleh mengedit kod untuk dijalankan pada semua baris? </p>
P粉278379495
P粉278379495

membalas semua(1)
P粉707235568

Anda tentukan class,而不是id。这意味着您无法轻松地区分它们。但是,通过一些巧妙的 JQuery 代码,您可以识别数量发生更改的表行,然后获取 quantityunitprice untuk input dan tetapkan jumlah harga 代码>:

$(document).ready(function() {
    $('.quantity').keyup(function() {
        let tableRow = $(this).parent().parent();
        let quantity = tableRow.find('.quantity').val();
        let unitprice = tableRow.find('.unitprice').val(); 
        let totalprice = quantity * unitprice;
        tableRow.find('.totalprice').val(totalprice);
    })
});

Jadi di sini kita mendapat input kuantiti $(this),并获取父级两次:首先是 ,然后是 。我们将其存储在tableRow$(this), dan dapatkan induk dua kali: pertama

, kemudian . Kami menyimpannya dalam tableRow. Memandangkan kita kini mengetahui baris jadual, kita boleh menggunakan find()

untuk mengakses input. 一个>Untuk kod contoh, sila lihat:

https://codepen.io/kikosoft/pen/oNMjqLd🎜🎜
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan