Ok, poradziłem, pozostaje tylko problem taki, że wyświetla mi tylko 1 podkategorię, a poziomu 3 i 4 już nie..
select.php
<?php
or
die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error()); or
die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
if(!empty($_GET['id'])) { $id = $_GET['id'];
$kat = mysql_query("SELECT * FROM xx WHERE children='$id'");
$tab = array($row['id']=>$row['name']); }
}
?>
select.js
//skrypt bÄdzie uruchamiany gdy strona siÄ caĹkowicie zaĹaduje
$(document).ready(function() {
//przypisanie akcji wywoĹania dodatkowej listy do zdarzenia typu change
$('#kategorie').live('change', function(){
var id = $(this).val();
//adres url do pliku PHP z kodem generujÄ
cym dane w formacie JSON
var url = 'select.php?id='+id;
//jeĹli istnieje juĹź select-lista o id: podkategorie, to usuĹ jÄ
if($('#podkategorie').length>0)
$('#podkategorie').remove();
//metoda pobierajÄ
ca dane JSON z podanego adresu w zmiennej url
$.getJSON(
url,
function(data){
//tworzymy nowÄ
, pustÄ
listÄ select o id: podkategorie i jÄ
doĹÄ
czamy do formularza
$('#formularz fieldset').append(select);
var lista = $('#podkategorie');
//ukrywamy listÄ. Potrzebne to bÄdzie do uzyskania animacji pojawienia siÄ elementu na stronie
lista.hide();
//generowanie kolejnych opcji listy
$.each(data, function(key, val){
option.attr('value', key)
.html(val)
.appendTo(lista);
});
//animacja pojawienia siÄ elementu na stronie
lista.show('scale', 500);
},
'json'
);
})
})
index.php:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>[jQuery]Animowana zależna lista rozwijana - demo by Piotr Nalepa</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="http://blog.piotrnalepa.pl/demo/jquery-select/jquery-ui-1.8.14.custom.min.js"></script>
<script src="select.js"></script>
</head>
<body id="page">
<header>
<hgroup>
<h1>[jQuery]Animowana zależna lista rozwijana</h1>
<h2>demo by Piotr Nalepa</h2>
</hgroup>
</header>
<form action="select.php" id="formularz" action="post">
<fieldset>
<legend>Kategorie</legend>
<select id="kategorie">
<option value="1411">Kategoria 1</option>
<option value="1411">Kategoria 2</option>
<option value="1411">Kategoria 3</option>
<option value="1411">Kategoria 4</option>
</select>
</fieldset>
</form>
</body>
</html>
Ten post edytował miras 9.02.2014, 13:35:40