Отправка выборочных данных из таблицы Dynami c - PullRequest
0 голосов
/ 19 марта 2020

У меня есть динамическая таблица c с некоторыми данными и общим счетом с JS, когда отмечен флажок, строка удаляется из счета.

Мне нужен способ отправить первое поле идентификатора и итоговую цену на другую страницу php для строк, где установлен флажок. Как показано на рисунке ниже, мне нужно отправить вейлсы 8, 10 и 15 с общим количеством 1500.
enter image description here

Я дал каждому флажку уникальный идентификатор и значение того же идентификатора ,

<table id="price-list">
<tr>
   <td>Some data</td>   
   <td>
       <input class="w3-check" type="checkbox" checked="" value="<?php echo $row['rad_id']?>" id="<?php echo $row['rad_id']?>">
   </td>
</tr>
<tfoot>
   <tr  class="totalColumn">
     <td><span> Ukupno:</span></td>
     <td class="total price">0.00 kn</td>
   </tr>
</tfoot>
</table>

Самое близкое, что я получил, - это чтение всей таблицы с JS, с помощью другого скрипта, переводящего ее в значение submit и передающей ее на другую PHP страницу.

<form action="spec-provjera.php" method="POST">
<input type="button" id="bt" value="Show Table Data" onclick="showTableData()" />
    <!-- <input type="submit" name="submit" value="info" id="info" onclick="myFunction()"/> -->

<script>
    function showTableData() {
        document.getElementById('info').innerHTML = "";
        var myTab = document.getElementById('price-list');

        // LOOP THROUGH EACH ROW OF THE TABLE AFTER HEADER.
        for (i = 1; i < myTab.rows.length; i++) {

            // GET THE CELLS COLLECTION OF THE CURRENT ROW.
            var objCells = myTab.rows.item(i).cells;

            // LOOP THROUGH EACH CELL OF THE CURENT ROW TO READ CELL VALUES.
            for (var j = 0; j < objCells.length; j++) {
                info.innerHTML = info.innerHTML + ' ' + objCells.item(j).innerHTML;
            }
            info.value = info.innerHTML + '<br />';     // ADD A BREAK (TAGG)
        }    
    }
</script>
  <script>
    function myFunction() {
    var info = document.getElementById("info").value;
    $.ajax({
            type : "POST",  //type of method
            url  : "spec-provjera.php",  //your page
            data : { info : value.info},// passing the values
            success: function(res){  
                                    //do what you want here...
                    }
        });
    }
    </script>
<button class="w3-btn w3-right w3-deep-orange" type="submit" name="izrada" id="info" onclick="myFunction()"/>KREIRAJ test</button>
</form>

This передает всю таблицу, содержащуюся в spe c -провьера. php с AJAX, но этот путь совершенно беспорядочный и публикует все строки с флажками, все установленные тоже проверены. Я был бы счастлив, если бы я мог просто отфильтровать ряды с щеками.
Может кто-нибудь предложить способ сделать это, имейте в виду, что я не очень хорош с JS.

1 Ответ

0 голосов
/ 20 марта 2020

Нашел решение: я обернул всю таблицу как форму, затем сделал динамическое c флажок, уникальное поле и то же значение "da", как это:

 <input class="w3-check" type="checkbox" checked="" name="<?php echo $row['rad_id']?>" value="da">

Также сделал поле общей цены входным с прочитанным только так:

 $("tfoot .total.price",tbl).html( '<input type="post" id="total" readonly size="5" value="' + t.toFixed(2) + '" name="total">  kn');

Затем я делаю на другой PHP странице это:

 foreach($_POST as $key => $value) {
  echo "POST parameter '$key' has '$value'</br> " ;
}

Ведьма, если я уберу отметку с идентификатора 14, как показано на первом рисунке, дает мне:

POST parameter '8' has 'da'
POST parameter '10' has 'da'
POST parameter '15' has 'da'
POST parameter 'total' has '1500.00'

Как видно, я проверил только товары с общей стоимостью. Теперь я могу манипулировать этим по мере необходимости в PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...