Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 18.10.2017, 15:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от Dilettante_Pro
М.Б. предварительно сортировать данные?
посмотри пожалуйста
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  #_0000 a + ul {
     display: none;
  }
  #_0000 a.open + ul {
     display:  block;
  }
  #_0000 a{
    cursor: pointer;
    display: inline-block;
  }
  #_0000 a.dd:after{
     content: "+";
     margin-left: 4px;
  }
  #_0000 a.dd.open:after{
     content: "-";
  }
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
$.getJSON('https://api.myjson.com/bins/zlxnt', function(data) {
console.log(JSON.stringify(data));
data.sort(function(a,b) {
if (a.PARENT > b.PARENT)  return 1;
if (a.PARENT < b.PARENT)  return -1;
return 0
}).forEach(function(el, i) {
   var parentId = el.PARENT;
   var parent = document.querySelector("#_"+parentId);
   var li;
   if(!parent) {
   li =  $("<li>", {id : "_"+parentId}).appendTo("#_0000");
      }
    else {
    $(parent).prev("a").addClass("dd");
    li = $("<li>").appendTo(parent);
    };
    $("<a>", {text : el.NAME}).appendTo(li);
    $("<ul>", {id : "_"+el.CID}).appendTo(li);
})
})
$("#_0000").on("click", "a", function(event) {
  event.preventDefault();
  this.classList.toggle("open")
})

});
  </script>
</head>

<body>
<ul id="_0000"></ul>

</body>
</html>
Ответить с цитированием
  #12 (permalink)  
Старый 18.10.2017, 15:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064


<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  #_0000 a + ul {
     display: none;
  }
  #_0000 a.open + ul {
     display:  block;
  }
  #_0000 a{
    cursor: pointer;
    display: inline-block;
  }
  #_0000 a.dd:after{
     content: "+";
     margin-left: 4px;
  }
  #_0000 a.dd.open:after{
     content: "-";
  }
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
$.getJSON('https://api.myjson.com/bins/zlxnt', function(data) {

data.sort(function(a,b) {
if (a.PARENT > b.PARENT)  return 1;
if (a.PARENT < b.PARENT)  return -1;
return 0
})
console.log(JSON.stringify(data));
data.forEach(function(el, i) {
   var parentId = el.PARENT;
   var parent = document.querySelector("#_"+parentId);
   var li;
   if(!parent) {
   li =  $("<li>").appendTo("#_0000");
   $("<a>", {text : parentId, "class" : "dd"}).appendTo(li);
   parent = $("<ul>", {id : "_"+parentId}).appendTo(li);
      }
    else {
    $(parent).prev("a").addClass("dd");
    };
    li = $("<li>").appendTo(parent);
    $("<a>", {text : el.NAME}).appendTo(li);
    $("<ul>", {id : "_"+el.CID}).appendTo(li);
})
})
$("#_0000").on("click", "a", function(event) {
  event.preventDefault();
  this.classList.toggle("open")
})

});
  </script>
</head>

<body>
<ul id="_0000"></ul>

</body>
</html>
Ответить с цитированием
  #13 (permalink)  
Старый 18.10.2017, 16:37
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

рони,
Пост#11 -
Пост#12 -
Несчастные сиротки без родителей типа
{"CID":"VB16","PARENT":"_XXX","LINK":"VB16","NAME" :"Приказ о командировании (Расчет)"}

Последний раз редактировалось Dilettante_Pro, 18.10.2017 в 17:01.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена стилей класса Павел Турченко Элементы интерфейса 9 30.10.2015 15:24
статическое меню Schokk Элементы интерфейса 16 11.02.2015 18:18
Бесконечноуровневое меню на CSS ruslan_mart Ваши сайты и скрипты 5 12.01.2015 20:59