亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將輸入和 php 數組中的值轉換為 js 并相乘?

如何將輸入和 php 數組中的值轉換為 js 并相乘?

慕無忌1623718 2023-05-11 14:01:35
好的,正如您在下面的代碼片段中看到的那樣,我在數字 (1) 中創建選擇(輸入),在數字 (2) 中,我顯示選擇的名稱,在數字 (3) 中,我顯示單價。(1) 是一個從 1 到 n 的數字,我想從每個 (1) 中取出輸入數字并將其與單價 (3) 相乘(例如 x=(1)*(3)),然后將所有的相加這些結果并將它們顯示在另一個文本框中。我嘗試了幾件事,但無法實現。我真的可以在這里使用一些指導。我很樂意提供任何更多信息。    <?php        $sum = $choice['qty'] * $choice['timi'];        foreach($choice3 as $choice3){    ?>    //(1)<input type="number" class="colorqty" name="color[<?php echo $i; ?>][unit]" step="<?php echo $step; ?>" value="0" min="0" class="color_qty_1" onchange="updateTotal();"> //(2)    <input type="text" value="<?php echo $choice3['price_name']; ?>" name="color[<?php echo $i; ?>][price_name]" readonly="readonly" class="color_qty_2"> //(3)    <input type="text" value="<?php echo $choice3['price']."€"; ?>" name="xrwmas" readonly="readonly" class="color_qty_2" id="tests">  <br />    <?php $i++;  }  ?>例如從上面的循環我們得到我想在此示例中乘以 5 * 68、0 * 74 等,然后對結果求和并將其顯示在求和框中。
查看完整描述

2 回答

?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

這對我來說很好


        <?php Route::add('/route', function() { 


        $array = [

            [

            'price_name' => 'Xiaomi Poco X3',

            'price' => 2000

            ],

            [

            'price_name' => 'Xiaomi Poco F1 plus',

            'price' => 1500

            ],

            [

            'price_name' => 'Xiaomi Poco F1',

            'price' => 1000

            ]

            ];


            foreach($array as $key => $value) {


        ?>



        <div id="form">

            <input type="number" id="input_value" class="colorqty" name="color[<?php echo $key; ?>][unit]" value="0" min="0" class="color_qty_1" onkeyup="updateTotal();">

            <input type="text" value="<?php echo $value['price_name']; ?>" name="color[<?php echo $key; ?>][price_name]" readonly="readonly" class="color_qty_2">

            <input type="text" data-id="<?php echo $key; ?>" value="<?php echo $value['price']."€"; ?>" id="price" name="xrwmas" readonly="readonly" class="color_qty_2" id="tests">  <br />

        </div>



        <?php


        }


        echo '<p>SUM <span id="sum">0</span></p>';

        ?> 


        <script>


        function updateTotal(value,id) {

        var elements = document.getElementsByTagName('input')


        var input_val = 0;

        var price_val = 0;


        for(let i = 0 ; i < elements.length; i++) {

            

            if(elements[i].getAttribute('id') == 'price') {

                

                price_val += parseInt(elements[i].value.replace('€',''))

            }


            if(elements[i].getAttribute('id') == 'input_value') {

            

                input_val += parseInt(elements[i].value)

            

            }

        }


        document.getElementById('sum').innerHTML = !Number.isNaN(price_val * input_val) ? price_val * input_val : 0


        }


        </script>


        <?php


        }); 


        ?>

你只需要 javascript 就可以做到嗎


查看完整回答
反對 回復 2023-05-11
?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

所以對于一開始的代碼,我們在我們需要的所有項目中添加唯一的 id。在這個例子中價格和輸入所以這里是例子


<?php

? ? ? ? foreach($choice3 as $choice3){

? ? ?>

? ? //(1)

<input type="number" class="colorqty" name="color[<?php echo $i; ?>][unit]" step="<?php echo $step; ?>" value="0" min="0" class="color_qty_1" onchange="updateSum();" id="input_value_<?php echo $i; ?>">

?//(2)

? ? <input type="text" value="<?php echo $choice3['price_name']; ?>" name="color[<?php echo $i; ?>][price_name]" readonly="readonly" class="color_qty_2">

?//(3)

? ? <input type="text" value="<?php echo $choice3['price']."€"; ?>" name="xrwmas" readonly="readonly" class="color_qty_2" id="price_<?php echo $i; ?>">??


然后我們只需要按類獲取一個元素并計算其長度的 JS,然后你就可以看到它適用于無限輸入。


?function updateSum(value,id) {

?

? ? var elements = document.getElementsByClassName('colorqty').length;

? ? var input_val = 0;

? ? var price_val = 0;

? ? var multipl = 0;

? ? var output = 0;

? ? var i = 0;

? ? while(i < elements ) {

? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? price_val = document.getElementById('price_'+[i]).value;

? ? ? ? input_val = document.getElementById('input_value_'+[i]).value;

? ? ? ? if(input_val != null){?

? ? ? ? multipl = price_val*input_val;

? ? ? ? output += multipl ;

? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? document.getElementById('a3').value = !Number.isNaN(output) ? output : 0

? ? ? ? ? ? }

? ? ? ? ? i ++;

? ? ? ? ? }

? ? ?}



查看完整回答
反對 回復 2023-05-11
  • 2 回答
  • 0 關注
  • 149 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號