Показать сообщение отдельно
  #4 (permalink)  
Старый 16.07.2015, 00:54
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Попробовал написать, но у меня чет фигня пока получается, лишний элемент <li> каждый раз вставляется.

<!doctype html>
<html>
<head>
  <meta charset="utf-8" />
  <title></title>
  <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
</head>
<body>
  <div class="tree"></div>

  <script>
    $(document).ready(function() {
      var jsonTree = {
        "firstName": "Иван",
        "lastName": "Иванов",
        "address": {
          "streetAddress": "Московское ш., 101, кв.101",
          "city": "Ленинград",
          "postalCode": 101101
        },
        "address2":  {
          "streetAddress2": "Московское ш., 101, кв.101",
          "city2": "Ленинград",
          "adress3": 101101
        }
      };

      function createList(obj) {
        debugger;
        if(typeof obj !== 'object') return;

        var ul = $('<ul />');

        for(var key in obj) {
          var item = $('<li> <input type="checkbox" name="' + key + '" />' + (obj[key] == '[object Object]' ? key : obj[key]) +'<li />');            
          var ulChilds = createList(obj[key]);
          ulChilds && item.append(ulChilds);
          ul.append(item);
        }
        return ul;
      }

      $('.tree').append( createList(jsonTree) );
    });
  </script>
</body>
</html>
Ответить с цитированием