Angularjs и jquery.datatable с ui.bootstrap - нужно показывать записи в json, используя цикл - PullRequest
0 голосов
/ 11 ноября 2018

Мне нужно показать записи JSON в цикле.Я новичок в js и angular, и я не знаю, как ввести for в отмеченном месте кода ниже.Мне нужно знать, чтобы сделать весь код, это просто тест для более крупного проекта.

        <?php
        $estudent[]=array(
        "name" => "luis", 
        "age" => "10");
        $estudent[]=array(
        "name" => "maria", 
        "age" => "12");
         $objJson=json_encode($estudent);
        ?>
    //here is the js
    <script>
    var json=eval(<?php echo $objJson; ?>);
    //Angularjs and jquery.datatable with ui.bootstrap and ui.utils

    var app=angular.module('formvalid', ['ui.bootstrap','ui.utils']);
    app.controller('validationCtrl',function($scope){

 $scope.data = [
            [ //i need to use a loop for show all the studens
                json[0].name,
                json[0].age,
                    ],
             [ //i need to use a loop for show all the studens
                json[1].name,
                json[1].age,
                   ],
        ]

    $scope.dataTableOpt = {
       //custom datatable options 
      // or load data through ajax call also
      "aLengthMenu": [[10, 50, 100,-1], [10, 50, 100,'All']],
      };
    });
    </script>

Ответы [ 2 ]

0 голосов
/ 11 ноября 2018

На мой взгляд, ваш JSON действителен, попробуйте изменить формат JSON на что-то похожее на это:

 $scope.data = [{
        "name": "json[0].name",
        "age": "json[0].age"
    },
    {
        "name": "json[1].name",
        "age": "json[1].age"
    }
]

Тогда вы можете легко console или показать его

angular.forEach($scope.data, function (value, index) {
   console.log($scope.data[index] + ' ' + index);
});

HTML

<ul ng-repeat="json in data">
      <li><b>Name: </b> <p>{{json.name}}</p> <b>Age: </b> <p>{{json.age}}</p></li>
</ul>

Плункер: http://plnkr.co/edit/s6ix8aEDz0jR3UeXGL6M?p=preview

0 голосов
/ 11 ноября 2018

Для этого цикла вы можете использовать:

$scope.data = [];
angular.forEach(json, (item) => {
  // here you can get item.age  and item.name
  $scope.data.push(item);
});

В конце этого цикла у вашего $scope.data будут все ученики

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