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']);
?>
Waarom wil je het niet via ajax verzenden?
Jaron schreef op 18.11.2009 14:05
Waarom wil je het niet via ajax verzenden?

Als het mogelijk is in jquery dan doe ik het liever via jquery. Anders krijg ik allemaal verschillende script talen door elkaar. Weet iemand wat er fout gaat met mijn $.ajax() ?
// Bump
Ik ben er ondertussen achter dat het volgende in de js niet wordt uitgevoerd:
update: function( e, ui ) {}
Gebruik [google]jQuery.get[/google]?
Ik heb het erbij gezet maar het geeft geen resultaat,
De update: in de sortable wil denk ik niet werken.
Gebruik Firebug van Firefox. Op die manier kan je kijken wat er verzonden wordt.
Marcel schreef op 21.11.2009 17:29
Gebruik Firebug van Firefox. Op die manier kan je kijken wat er verzonden wordt.


Dat weet ik, ik gebruik het ook, en er word niks verzonden?
Mm en je krijgt ook geen JS error?
Helemaal geen,
Ik kan hem wel gewoon verschuiven,.. maar hij verzend niks..

Reageren