Hallo,
Ik heb een scriptje waarmee ik mijn menu kan sorteren.
Hij werkt gewoon alleen wil hij de informatie niet via ajax verzenden.
In het js bestand staan 2 functies voor de linker en rechter kant.
Weet iemand wat hieronder niet klopt?

alvast bedankt!

JS:


$(document).ready(function() { 
    $('#menuL').sortable({ 
        opacity: '0.5', 
        update: function( e, ui ) { 
              var serial = $(this).sortable( 'serialize' ); 
              $.ajax({ 
                  url: 
                      'sortdata.php?m=links', 
                  type: 
                      'POST', 
                  data: 
                      serial, 
                  success: 
                      function( feedback ) { 
                          $('#data').html( feedback ); 
                      }  
              }); 
          } 
    }); 
    $('#menuR').sortable({ 
        opacity: '0.5', 
        update: function( e, ui ) { 
                    var serial = $(this).sortable( 'serialize' ); 
                    $.ajax({ 
                        url: 
                            'sortdata.php?m=rechts', 
                        type: 
                            'POST', 
                        data: 
                            serial, 
                        success: 
                            function( feedback ) { 
                                $('#data').html( feedback ); 
                            } 
                    }); 
                } 
    }); 
});


html voorbeeld:


<div id="menuL">
<div id="menu_1">Voorbeeld</div>
<div id="menu_2">Voorbeeld</div>
<div id="menu_3">Voorbeeld</div>
</div>

<div id="menuR">
<div id="menu_4">Voorbeeld</div>
<div id="menu_5">Voorbeeld</div>
<div id="menu_6">Voorbeeld</div>
</div>


Sortdata.php:

<?
error_reporting(E_ALL);
session_start();

include("connect.php");

$query = mysql_query("SELECT * FROM members WHERE username = '".$_SESSION['username']."'");
while($gebruiker = mysql_fetch_assoc($query))
{
$sql = mysql_query("SELECT * from menu WHERE user_id = '".$gebruiker['id']."'");
if(mysql_num_rows($sql) == 0)
{
mysql_query("INSERT INTO menu (user_id) VALUES ('".$gebruiker['id']."')")or die(mysql_error());
}
if($_GET['m'] == 'links')
{
$hoeveelste = array(
0 => 'eerste',
1 => 'tweede',
2 => 'derde'
);
}
elseif($_GET['m'] == 'rechts')
{
$hoeveelste = array(
0 => 'vierde',
1 => 'vijfde',
2 => 'zesde'
);
}
$num= 0;
while(isset($_POST['menu'][$num]))
{
mysql_query("UPDATE menu SET ".$hoeveelste[$num]." = '".$_POST['menu'][$num]."' WHERE user_id = '".$gebruiker['id']."'")or die(mysql_error());
$num++;
}
}
unset($_SESSION['menu']);
?>
Is $.Ajax wel goede syntax? Ik ken t helemaal niet?
@Yearupie: even ter info: je haalt iets door elkaar. Jij zegt dat je het met jQuery wilt doen en niet met ajax anders krijg je 2 talen. Maar dit is niet te vergelijken. jQuery is een js-library waar je ook ajax mee kan toepassen. Ajax is een manier van scripten. Dus het is niet óf jQuery óf ajax, maar ajax met behulp van jQuery
Oke, maar het script word niet eens uitgevoerd tot het ajax/jquery gedeelte.
als ik de ajax vervang door : alert( 'Request gelukt' ); Krijg ik geen alert...
Er is dus iets mis met de sortable denk ik?
Van deze plugin maak ik ook gebruik, werkt ideaal. Welke jQuery versie heb je?
ohh,.. Ik gebruikte V 1.3.2 daarin werkt hij niet,
Vervang ik hem nu dus met V 1.2.6 en dan werkt hij wel !

Weet iemand hoe dit kan?
Wel de nieuwste sortable gedownload?

Reageren