Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][PHP]Jak stworzyć dynamiczne menu?
Forum PHP.pl > Forum > Przedszkole
neuroine
Witam



Mam następujący problem. Mam menu z linkami, które jest obsługiwane przez jQuery. Po podaniu hasła do menu zostają dynamicznie dodane dodatkowe linki. Problem polega w tym, że dodane w ten sposób linki nie korzystają z jQuery tzn. nie działają bez przeładowania strony. Czy jest na to jakaś rada?



Słyszałem o pluginie Live Query czy miał ktoś już znim kotakt i mógłby mnie naprowadzić ?



Pozdrawiam





Skrypt obsługujący menu


CODE
//MENU

$(document).ready(function() {
$('#menu a').click(function() {
$('#main').load('' + $(this).attr('href'), function() {
$('#main').hide()
.slideDown(1000);
});
return false;
});
});





  1. <div id="menu">
  2. ul id="menu_list">
  3. <li><h3>Menu</h3></li>
  4. <li><a href="link.php">Link</a></li>
  5. </ul>
  6. </div>
  7. <div id="main"></div>


Skrypt obsługujący logowanie
CODE
//LOGIN
$(document).ready(function() {
$('#sign_in').click(function() {
$('#loading').append('');

var login = $('#login').val();
var password = $('#password').val();

$.ajax({
url: 'login_send.php',
type: 'POST',
data: 'login=' + login + '&password=' + password,

success: function(result) {
$('#form').remove();
$('#menu_list').append(result);
$('#loading').fadeOut(500, function() {
$(this).remove();
});

}
});

return false;
});
});



  1. if(!isset($_SESSION['zalogowany']) || $_SESSION['zalogowany']!=1) {
  2. include_once("panel/config.php");
  3.  
  4. $login = $_POST['login'];
  5. $password = $_POST['password'];
  6. $password2 = md5($_POST['password']);
  7.  
  8. if($_SESSION["zalogowany"]!=1){
  9. if(!empty($login) && !empty($password)) {
  10. if(mysql_num_rows(mysql_query("select * from users where username = '$login' AND password = '$password2'"))){
  11. $_SESSION['zalogowany']='1';
  12.  
  13. $response ="<li><a href='link2.php'>Link2</a></li>";
  14. $response .="<li><a href='link3.php'>Link3</a></li>";
  15.  
  16. echo $response;
  17.  
  18.  
  19. } else { echo ('Invalid user name or password');}
  20. } else { echo ('Please enter user name and password');}
  21. } else { echo ('ERROR');}
vokiel
[JAVASCRIPT] pobierz, plaintext
  1. $('#menu a').live('click',function(e) {
  2. e.preventDefault();
  3. //reszta kodu
  4. });
[JAVASCRIPT] pobierz, plaintext

Lub przy użyciu livequery
[JAVASCRIPT] pobierz, plaintext
  1. $('#menu a').livequery('click',function(e) {
  2. e.preventDefault();
  3. //reszta kodu
  4. });
[JAVASCRIPT] pobierz, plaintext
neuroine
Dokładnie o to mi chodziło. Dzieki snitch.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.