Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.11.2015, 20:22
Новичок на форуме
Отправить личное сообщение для SnakeHC Посмотреть профиль Найти все сообщения от SnakeHC
 
Регистрация: 28.11.2015
Сообщений: 1

Помогите решить задачу
задача такая мне нужно что бы вывести название кнопок из бд а затем с js создать древо кнопок
древо я создал а вот появились другие проблеммы в жс я новичек потмоу и прошу помощи
как мне сделать так что когда древо закончится повилось форма для инпута и если был нажат другой предок то другая древо закрылось
помогите заранее спосибо вот весь код


[php]
<?php
if (isset($_POST["id"])){
$db = mysql_connect("localhost", "root", "");
mysql_select_db("test", $db);
$id = $_POST["id"];
$result = mysql_query("SELECT * FROM `Buttons` WHERE `parent` = $id");
$buttons = array();
while($button = mysql_fetch_array($result)){
array_push($buttons, array($button["id"], $button["parent"], $button["value"]));
}
echo json_encode($buttons);
exit();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Buttons tree</title>
	<link rel="stylesheet" href="/css/bootstrap.min.css">
</head>
<body>
	<div class="container">
		<div class="col-lg-12 main" id="field">
			<h1>Buttons tree</h1>
			<div class="jumbotron">
				<p>Root buttons</p>
				<div id="rootButtons">
					
				</div>
			</div>
		</div>
	</div>

<!-- scripts -->
<script src="/js/jquery-2.1.4.min.js"></script>
<script>
	$(function(){
		$.post("/buttons.php", {id: 0}, function(e){
			var buttons = $.parseJSON(e);
			$.each(buttons, function(key, value){
				$("#rootButtons").append("<button class='btn btn-danger' id='parent' idb='"+value[0]+"'>"+value[2]+"</button>");
			})
		})
	//Click on parent
	$(document).on("click","#parent", function(){
		var obj = $(this);
		var idb = $(this).attr("idb")
		$.post("/buttons.php", {id: idb}, function(data){
			var buttons = $.parseJSON(data);
			$("#field").append("<div class='jumbotron' id='buttons"+idb+"'><p>Childs for "+obj.html()+" ("+idb+")</p></div>");
			$.each(buttons, function(key, value){
				$("#buttons"+idb).append("<button class='btn btn-success' id='parent' idb='"+value[0]+"'>"+value[2]+"</button>");
			})
		})
	})
	})
</script>

[html]
</body>
</html>[html]
Ответить с цитированием
  #2 (permalink)  
Старый 29.11.2015, 12:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Это не дерево, это дочерние элементы у своего родителя. Дерево, это N-уровней вложения может быть в каждой ветви и запросом к базе подобном вашему иерархии этих вложений не получить.

Поэтому уточнить надо что имеется ввиду под окончанием дерева, и в каком случае - при получении JSON описывающего элементы или по действию пользователя, или ...?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить задачу с массивами! KaTaJLonec Общие вопросы Javascript 4 02.02.2015 00:25
Помогите решить задачу с массивами Konstan_G Общие вопросы Javascript 20 17.05.2013 19:59
Пожалуйста помогите решить задачу на java alex01rus1991 Элементы интерфейса 9 27.11.2012 01:02
Помогите решить задачу по терверу FINoM Оффтопик 3 16.03.2011 13:30
Помогите решить задачу vkg Общие вопросы Javascript 1 20.02.2008 11:59