Как мне взять данные из JSON в jQuery? - PullRequest
0 голосов
/ 13 июля 2020

Я получаю кодировку JSON из сценария PHP, и мне нужно показать его в таблице, используя jQuery. После этого мне нужно несколько автомобилей со скоростью менее 50, более 50, более 80 и средней скоростью. Я пытаюсь увеличить значение переменной, но всегда получаю 0, когда пытаюсь напечатать его после FOR. Есть предложения, как это сделать? Извините за словацкие названия переменных, но я должен так делать. Вот мой html + jquery

 <body>
    <div class="container">

        <h1 class="text-info">Pohovor</h1>

        <div class="row">

            <div class="col-sm-3">
                <input type="number" id="count" name="count" class="form-control">
                <div class="invalid-feedback">
                    Počet musí byť od 100 do 500
                </div>
            </div>
            <div class="col-sm-2">
                <button class="btn btn-success" id="button">Generovať</button>
            </div>

        </div>
        <div class="row mt-5">
            <div class="col-sm-12">
            <div id="result">
                <table class="table table-striped" id="table">
                    <thead>
                        <tr>
                            <th>ID</th>
                            <th>Nazov</th>
                            <th>Rychlost</th>
                        </tr>
                    </thead>
                    <tbody>

                    </tbody>
                </table>
            </div>
            </div>
        </div>
        <div class="row" id="stats">
        </div>

    </div>
        <script>
            $(document).ready(function(){

                $("button").hide();
                $(".invalid-feedback").hide();

                $("#count").change(function () {
                    if ($("#count").val()<100 | $("#count").val()>500){
                        $("button").hide();
                        $("#count").addClass("is-invalid");
                        $("#count").removeClass("is-valid");
                        $(".invalid-feedback").show();
                    }
                    else {
                        $("button").show();
                        $("#count").addClass("is-valid");
                        $("#count").removeClass("is-invalid");
                        $(".invalid-feedback").hide();
                    }
                    
                })


                $(document).ready( function () {
                    $('#table').DataTable({
                        "paging":   false,
                        "ordering": false,
                        "info":     false
                    });

                } );


                $("button").click(function(){


                    var speedUnder50 = 0,
                        speedUnder80 = 0,
                        speedOver80 = 0;

                    $.post("script.php", {count: $('#count').val()} , function(data){

                        var parsedJson=$.parseJSON(data);


                        for (var i = 0; i < data.length; i++)
                        {
                                var temp = '<tr';
                                if (parsedJson[i].rychlost < 50){
                                    temp += ' style="background-color: #7dd162;"';
                                    speedUnder50++;
                                }
                                else if (parsedJson[i].rychlost >= 50 & parsedJson[i].rychlost < 80){

                                    temp += ' style="background-color: #ffbf51;"';
                                    speedUnder80++;
                                }
                                else {

                                    temp += ' style="background-color: #ff5b5b;"';
                                    speedOver80++;

                                }

                                temp += '><td>' + parsedJson[i].ID + '</td>';
                                temp += '<td>' + parsedJson[i].nazov + '</td>';
                                temp += '<td>' + parsedJson[i].rychlost + '</td></tr>';
                                $("table tbody").append(temp);

                        };


                    });

                });
            });
        </script>
    </body>

А вот PHP скрипт

<?php

    $data = array();

    for ($i = 1; $i <= $_POST['count']; $i++){
        array_push($data, array('ID' => $i, 'nazov' => $i.'-vehicle', 'rychlost' => rand(5,100)));
    }

    echo json_encode($data);

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