<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>'How to handle data from different html lists?' Thread RSS Feed</title>
    <link>http://www.programmersheaven.com/</link>
    <description>Contains the latest posts from the thread 'How to handle data from different html lists?' posted on the 'PHP' forum at Programmer's Heaven.</description>
    <language>en</language>
    <copyright>Copyright 2013 Programmers Heaven</copyright>
    <pubDate>Sat, 25 May 2013 02:56:35 -0700</pubDate>
    <lastBuildDate>Sat, 25 May 2013 02:56:35 -0700</lastBuildDate>
    <generator>Argotic Syndication Framework 2007.3.0.1, http://www.codeplex.com/Argotic</generator>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <ttl>360</ttl>
    <image>
      <url>http://www.programmersheaven.com/images/ph.gif</url>
      <title>Programmers Heaven</title>
      <link>http://www.programmersheaven.com/</link>
      <width>88</width>
      <height>31</height>
    </image>
    <item>
      <title>How to handle data from different html lists?</title>
      <link>http://www.programmersheaven.com/mb/phpstuff/414805/414805/how-to-handle-data-from-different-html-lists/</link>
      <description>Hi. &lt;br /&gt;
I have the code where I can drag and drop items to the 5 different html lists.&lt;br /&gt;
&lt;br /&gt;
When I have dragged items to the lists I would like to save the result.&lt;br /&gt;
So my problem is that when I save the result I don't know where from the lists data comes.&lt;br /&gt;
&lt;br /&gt;
Could you please help me if you understand what I mean?&lt;br /&gt;
&lt;br /&gt;
The code is following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Untitled Document&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;style type='text/css'&amp;gt; &lt;br /&gt;
body,html {&lt;br /&gt;
    color:#333;&lt;br /&gt;
    font-family:Calibri;&lt;br /&gt;
    font-size:11px;&lt;br /&gt;
}&lt;br /&gt;
.panel {float:left;width:200px;margin:20px;}&lt;br /&gt;
 &lt;br /&gt;
ul {&lt;br /&gt;
    list-style-type:none;&lt;br /&gt;
    border:1px solid #999;&lt;br /&gt;
    background:#ccc;&lt;br /&gt;
    padding:20px;&lt;br /&gt;
    min-height:150px;&lt;br /&gt;
    width:100px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
li {&lt;br /&gt;
    display:block;&lt;br /&gt;
    border:1px solid #999;&lt;br /&gt;
    background:#fff;&lt;br /&gt;
    width:80px;&lt;br /&gt;
    padding:5px 10px;&lt;br /&gt;
    margin-bottom:5px;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.dds_selected {&lt;br /&gt;
    background:#ffc;&lt;br /&gt;
}&lt;br /&gt;
.dds_ghost {&lt;br /&gt;
    opacity:0.5;&lt;br /&gt;
}&lt;br /&gt;
.dds_move {&lt;br /&gt;
    background:#cfc;&lt;br /&gt;
}&lt;br /&gt;
.dds_hover {&lt;br /&gt;
    background:#fc9;&lt;br /&gt;
    border:3px dashed #c96;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
.holder {&lt;br /&gt;
    border:3px dashed #333;&lt;br /&gt;
    background:#fff;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js'&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.3/jquery-ui.min.js'&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type='text/javascript'&amp;gt; &lt;br /&gt;
/**&lt;br /&gt;
 *   Multi-Select And Drag&lt;br /&gt;
 *  &lt;br /&gt;
 *   Not elegant solution to this problem, but the problem, despite being easily &lt;br /&gt;
 *   desribed is not simple. This code is more a proof of concept, but should be&lt;br /&gt;
 *   extendable by anyone with the time / inclination, there I grant permission &lt;br /&gt;
 *   for it to be re-used in accodance with the MIT license:&lt;br /&gt;
 *&lt;br /&gt;
 *   Copyright (c) 2009 Chris Walker (http://thechriswalker.net/)&lt;br /&gt;
 *&lt;br /&gt;
 *   Permission is hereby granted, free of charge, to any person obtaining a copy&lt;br /&gt;
 *   of this software and associated documentation files (the "Software"), to deal&lt;br /&gt;
 *   in the Software without restriction, including without limitation the rights&lt;br /&gt;
 *   to use, copy, modify, merge, publish, distribute, sublicense, and/or sell&lt;br /&gt;
 *   copies of the Software, and to permit persons to whom the Software is&lt;br /&gt;
 *   furnished to do so, subject to the following conditions:&lt;br /&gt;
 *&lt;br /&gt;
 *   The above copyright notice and this permission notice shall be included in&lt;br /&gt;
 *   all copies or substantial portions of the Software.&lt;br /&gt;
 *&lt;br /&gt;
 *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR&lt;br /&gt;
 *   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,&lt;br /&gt;
 *   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE&lt;br /&gt;
 *   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER&lt;br /&gt;
 *   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,&lt;br /&gt;
 *   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN&lt;br /&gt;
 *   THE SOFTWARE.&lt;br /&gt;
 */&lt;br /&gt;
(function($){&lt;br /&gt;
    $.fn.drag_drop_selectable = function( options ){&lt;br /&gt;
        $.fn.captureKeys();&lt;br /&gt;
        var $_this = this;&lt;br /&gt;
        var settings = $.extend({},$.fn.drag_drop_selectable.defaults,opt
ions||{});&lt;br /&gt;
        return $(this).each(function(i){&lt;br /&gt;
            var $list = $(this);&lt;br /&gt;
            var list_id = $.fn.drag_drop_selectable.unique++;&lt;br /&gt;
            $.fn.drag_drop_selectable.stack[list_id]={"selecte
d":[ ],"all":[ ]};//we hold all as well as selected so we can invert and stuff...&lt;br /&gt;
            $list.attr('dds',list_id);&lt;br /&gt;
            $.fn.drag_drop_selectable.settings[list_id] = settings;&lt;br /&gt;
            $list.find('li')&lt;br /&gt;
            //make all list elements selectable with click and ctrl+click.&lt;br /&gt;
            .each(function(){&lt;br /&gt;
                var $item = $(this);&lt;br /&gt;
                //add item to list!&lt;br /&gt;
                var item_id = $.fn.drag_drop_selectable.unique++;&lt;br /&gt;
                $item.attr('dds',item_id);&lt;br /&gt;
                $.fn.drag_drop_selectable.stack[list_id].all.push(
item_id);&lt;br /&gt;
                $(this).bind('click.dds_select',function(e){&lt;br /&gt;
                    if($.fn.isPressed(CTRL_KEY) || ($.fn.drag_drop_selectable.stack[$.fn.drag_drop_se
lectable.getListId( $(this).attr('dds') )].selected.length == 1 &amp;amp;&amp;amp; $(this).hasClass('dds_selected'))){&lt;br /&gt;
                        //ctrl pressed add to selection&lt;br /&gt;
                        $.fn.drag_drop_selectable.toggle(item_id);&lt;br /&gt;
                    }else{&lt;br /&gt;
                        //ctrl not pressed make new selection&lt;br /&gt;
                        $.fn.drag_drop_selectable.replace(item_id);&lt;br /&gt;
                    }&lt;br /&gt;
                }).bind('dds.select',function(){&lt;br /&gt;
                    $(this).addClass('dds_selected').addClass( $.fn.drag_drop_selectable.settings[$.fn.drag_drop_
selectable.getListId($(this).attr('dds'))].selectC
lass );&lt;br /&gt;
                    &lt;br /&gt;
                }).bind('dds.deselect',function(){&lt;br /&gt;
                    $(this).removeClass('dds_selected').removeClass( $.fn.drag_drop_selectable.settings[$.fn.drag_drop_
selectable.getListId($(this).attr('dds'))].selectC
lass );;&lt;br /&gt;
                }).css({cursor:'pointer'});&lt;br /&gt;
            })&lt;br /&gt;
            //OK so they are selectable. now I need to make them draggable, in such a way that they pick up their friends when dragged. hmmm how do I do that?&lt;br /&gt;
            .draggable({&lt;br /&gt;
                 helper:function(){&lt;br /&gt;
                    $clicked = $(this);&lt;br /&gt;
                    if( ! $clicked.hasClass('dds_selected') ){&lt;br /&gt;
                        //trigger the click function.&lt;br /&gt;
                        $clicked.trigger('click.dds_select');&lt;br /&gt;
                    }&lt;br /&gt;
                    var list = $.fn.drag_drop_selectable.getListId($clicked.attr(
'dds'));&lt;br /&gt;
                    var $helper = $('&amp;lt;div dds_list="'+list+'"&amp;gt;&amp;lt;div style="margin-top:-'+$.fn.drag_drop_selectable.getMarginForDragging( $clicked )+'px;" /&amp;gt;&amp;lt;/div&amp;gt;').append( $.fn.drag_drop_selectable.getSelectedForDragging( $clicked.attr('dds') ) );&lt;br /&gt;
                        $.fn.drag_drop_selectable.getListItems( list ).filter('.dds_selected').addClass($.fn.drag_drop_
selectable.settings[list].ghostClass);&lt;br /&gt;
                    return $helper;&lt;br /&gt;
                 },&lt;br /&gt;
                 distance:5, //give bit of leeway to allow selecting with click.&lt;br /&gt;
                 revert:'invalid',&lt;br /&gt;
                 cursor:'move',&lt;br /&gt;
                 stop:function(e, ui){&lt;br /&gt;
                    var list = $.fn.drag_drop_selectable.getListId($clicked.attr(
'dds'));&lt;br /&gt;
                    $.fn.drag_drop_selectable.getListItems( list ).filter('.dds_selected').removeClass($.fn.drag_dr
op_selectable.settings[list].ghostClass);&lt;br /&gt;
                 }&lt;br /&gt;
            });&lt;br /&gt;
            $list.droppable({&lt;br /&gt;
                drop:function(e,ui){ &lt;br /&gt;
                    var oldlist = parseInt(ui.helper.attr('dds_list'));&lt;br /&gt;
                    ui.helper.find('li.dds_selected').each(function(){&lt;br /&gt;
                        var iid = parseInt( $(this).attr('dds_drag') );&lt;br /&gt;
                        $.fn.drag_drop_selectable.moveBetweenLists( iid, oldlist, list_id );&lt;br /&gt;
                    });&lt;br /&gt;
                    &lt;br /&gt;
                    //now call callbacks!&lt;br /&gt;
                    if( $.fn.drag_drop_selectable.settings[oldlist] &amp;amp;&amp;amp; typeof($.fn.drag_drop_selectable.settings[oldlist]
.onListChange) == 'function'){&lt;br /&gt;
                        setTimeout(function(){ $.fn.drag_drop_selectable.settings[oldlist].onList
Change( $('ul[dds='+oldlist+']') ); },50);&lt;br /&gt;
                    }&lt;br /&gt;
                    if( $.fn.drag_drop_selectable.settings[list_id] &amp;amp;&amp;amp; typeof($.fn.drag_drop_selectable.settings[list_id]
.onListChange) == 'function'){&lt;br /&gt;
                        setTimeout(function(){ $.fn.drag_drop_selectable.settings[list_id].onList
Change( $('ul[dds='+list_id+']') ); },50);&lt;br /&gt;
                    }&lt;br /&gt;
                    &lt;br /&gt;
                    &lt;br /&gt;
                },&lt;br /&gt;
                accept:function(d){&lt;br /&gt;
                    if( $.fn.drag_drop_selectable.getListId( d.attr('dds') ) == $(this).attr('dds')){&lt;br /&gt;
                        return false;&lt;br /&gt;
                    }&lt;br /&gt;
                    return true;&lt;br /&gt;
                },&lt;br /&gt;
                hoverClass:$.fn.drag_drop_selectable.settings[list
_id].hoverClass,&lt;br /&gt;
                tolerance:'pointer'&lt;br /&gt;
            });&lt;br /&gt;
        });  &lt;br /&gt;
    };&lt;br /&gt;
    $.fn.drag_drop_selectable.moveBetweenLists=functio
n(item_id, old_list_id, new_list_id){&lt;br /&gt;
        //first deselect.&lt;br /&gt;
        $.fn.drag_drop_selectable.deselect(parseInt(item_i
d));&lt;br /&gt;
        //now remove from stack&lt;br /&gt;
        $.fn.drag_drop_selectable.stack[old_list_id].all.s
plice( $.inArray( parseInt(item_id),$.fn.drag_drop_selectable.stack[
old_list_id].all ),1);&lt;br /&gt;
        //now add to new stack.&lt;br /&gt;
        $.fn.drag_drop_selectable.stack[new_list_id].all.p
ush( parseInt(item_id) );&lt;br /&gt;
        //now move DOM Object.&lt;br /&gt;
        $('ul[dds='+old_list_id+']').find('li[dds='+item_i
d+']').removeClass($.fn.drag_drop_selectable.setti
ngs[old_list_id].ghostClass).appendTo( $('ul[dds='+new_list_id+']') );&lt;br /&gt;
    };&lt;br /&gt;
    $.fn.drag_drop_selectable.getSelectedForDragging=f
unction(item_id){&lt;br /&gt;
        var list = $.fn.drag_drop_selectable.getListId( item_id );&lt;br /&gt;
        var $others = $.fn.drag_drop_selectable.getListItems( list ).clone().each(function(){&lt;br /&gt;
            $(this).not('.dds_selected').css({visibility:'hidd
en'});&lt;br /&gt;
            $(this).filter('.dds_selected').addClass( $.fn.drag_drop_selectable.settings[list].moveClass ).css({opacity:$.fn.drag_drop_selectable.settings[
list].moveOpacity});;&lt;br /&gt;
            $(this).attr('dds_drag',$(this).attr('dds'))&lt;br /&gt;
            $(this).attr('dds','');&lt;br /&gt;
        });&lt;br /&gt;
        return $others;&lt;br /&gt;
    };&lt;br /&gt;
    $.fn.drag_drop_selectable.getMarginForDragging=fun
ction($item){&lt;br /&gt;
        //find this items offset and the first items offset.&lt;br /&gt;
        var this_offset = $item.position().top;&lt;br /&gt;
        var first_offset = $.fn.drag_drop_selectable.getListItems( $.fn.drag_drop_selectable.getListId( $item.attr('dds') ) ).eq(0).position().top;&lt;br /&gt;
        return this_offset-first_offset;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    $.fn.drag_drop_selectable.toggle=function(id){&lt;br /&gt;
        if(!$.fn.drag_drop_selectable.isSelected(id)){&lt;br /&gt;
            $.fn.drag_drop_selectable.select(id);&lt;br /&gt;
        }else{&lt;br /&gt;
            $.fn.drag_drop_selectable.deselect(id);&lt;br /&gt;
        }&lt;br /&gt;
    };&lt;br /&gt;
    $.fn.drag_drop_selectable.select=function(id){&lt;br /&gt;
        if(!$.fn.drag_drop_selectable.isSelected(id)){&lt;br /&gt;
            var list = $.fn.drag_drop_selectable.getListId(id);&lt;br /&gt;
            $.fn.drag_drop_selectable.stack[list].selected.pus
h(id);&lt;br /&gt;
            $('[dds='+id+']').trigger('dds.select');&lt;br /&gt;
        }&lt;br /&gt;
    };&lt;br /&gt;
    $.fn.drag_drop_selectable.deselect=function(id){&lt;br /&gt;
        if($.fn.drag_drop_selectable.isSelected(id)){&lt;br /&gt;
            var list = $.fn.drag_drop_selectable.getListId(id);&lt;br /&gt;
            $.fn.drag_drop_selectable.stack[list].selected.spl
ice($.inArray(id,$.fn.drag_drop_selectable.stack[l
ist].selected),1);&lt;br /&gt;
            $('[dds='+id+']').trigger('dds.deselect');&lt;br /&gt;
        }&lt;br /&gt;
    };&lt;br /&gt;
    $.fn.drag_drop_selectable.isSelected=function(id){&lt;br /&gt;
        return $('li[dds='+id+']').hasClass('dds_selected');&lt;br /&gt;
    };&lt;br /&gt;
    $.fn.drag_drop_selectable.replace=function(id){&lt;br /&gt;
        //find the list this is in!&lt;br /&gt;
        var list = $.fn.drag_drop_selectable.getListId(id);&lt;br /&gt;
        $.fn.drag_drop_selectable.selectNone(list);&lt;br /&gt;
        $.fn.drag_drop_selectable.stack[list].selected.pus
h(id);&lt;br /&gt;
        $('[dds='+id+']').trigger('dds.select');&lt;br /&gt;
    };&lt;br /&gt;
    $.fn.drag_drop_selectable.selectNone=function(list
_id){&lt;br /&gt;
        $.fn.drag_drop_selectable.getListItems(list_id).ea
ch(function(){&lt;br /&gt;
            $.fn.drag_drop_selectable.deselect( $(this).attr('dds') );&lt;br /&gt;
        });return false;&lt;br /&gt;
    };&lt;br /&gt;
    $.fn.drag_drop_selectable.selectAll=function(list_
id){&lt;br /&gt;
        $.fn.drag_drop_selectable.getListItems(list_id).ea
ch(function(){&lt;br /&gt;
            $.fn.drag_drop_selectable.select( $(this).attr('dds') );&lt;br /&gt;
        });return false;&lt;br /&gt;
    };&lt;br /&gt;
    $.fn.drag_drop_selectable.selectInvert=function(li
st_id){&lt;br /&gt;
        $.fn.drag_drop_selectable.getListItems(list_id).ea
ch(function(){&lt;br /&gt;
            $.fn.drag_drop_selectable.toggle( $(this).attr('dds') );&lt;br /&gt;
        });return false;&lt;br /&gt;
    };&lt;br /&gt;
    $.fn.drag_drop_selectable.getListItems=function(li
st_id){&lt;br /&gt;
        return $('ul[dds='+list_id+'] li');&lt;br /&gt;
    };&lt;br /&gt;
    $.fn.drag_drop_selectable.getListId=function(item_
id){&lt;br /&gt;
        return parseInt($('li[dds='+item_id+']').parent('ul').eq(
0).attr('dds'));&lt;br /&gt;
    };&lt;br /&gt;
    $.fn.drag_drop_selectable.serializeArray=function( list_id ){&lt;br /&gt;
        var out = [];&lt;br /&gt;
        $.fn.drag_drop_selectable.getListItems(list_id).ea
ch(function(){&lt;br /&gt;
            out.push($(this).attr('id'));&lt;br /&gt;
        });&lt;br /&gt;
        return out;&lt;br /&gt;
    };&lt;br /&gt;
    $.fn.drag_drop_selectable.serialize=function( list_id ){&lt;br /&gt;
            return $.fn.drag_drop_selectable.serializeArray( list_id ).join(", ");&lt;br /&gt;
    };&lt;br /&gt;
    &lt;br /&gt;
    $.fn.drag_drop_selectable.unique=0;&lt;br /&gt;
    $.fn.drag_drop_selectable.stack=[];&lt;br /&gt;
    $.fn.drag_drop_selectable.defaults={&lt;br /&gt;
        moveOpacity: 0.8, //opacity of moving items&lt;br /&gt;
        ghostClass: 'dds_ghost', //class for "left-behind" item.&lt;br /&gt;
        hoverClass: 'dds_hover', //class for acceptable drop targets on hover&lt;br /&gt;
        moveClass:  'dds_move', //class to apply to items whilst moving them.&lt;br /&gt;
        selectedClass: 'dds_selected', //this default will be aplied any way, but the overridden one too.&lt;br /&gt;
        onListChange: function(list){ console.log( list.attr('id') );} //called once when the list changes&lt;br /&gt;
    }&lt;br /&gt;
    $.fn.drag_drop_selectable.settings=[];&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    $.extend({&lt;br /&gt;
        dds:{&lt;br /&gt;
                selectAll:function(id){ return $.fn.drag_drop_selectable.selectAll($('#'+id).attr
('dds')); },&lt;br /&gt;
                selectNone:function(id){ return $.fn.drag_drop_selectable.selectNone($('#'+id).att
r('dds')); },&lt;br /&gt;
                selectInvert:function(id){ return $.fn.drag_drop_selectable.selectInvert($('#'+id).a
ttr('dds')); },&lt;br /&gt;
                serialize:function(id){ return $.fn.drag_drop_selectable.serialize($('#'+id).attr
('dds')); }&lt;br /&gt;
            }&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    var CTRL_KEY = 17;&lt;br /&gt;
    var ALT_KEY = 18;&lt;br /&gt;
    var SHIFT_KEY = 16;&lt;br /&gt;
    var META_KEY = 92;&lt;br /&gt;
    $.fn.captureKeys=function(){&lt;br /&gt;
        if($.fn.captureKeys.capturing){ return; }&lt;br /&gt;
        $(document).keydown(function(e){&lt;br /&gt;
            if(e.keyCode == CTRL_KEY ){ $.fn.captureKeys.stack.CTRL_KEY  = true  }&lt;br /&gt;
            if(e.keyCode == SHIFT_KEY){ $.fn.captureKeys.stack.SHIFT_KEY = true  }&lt;br /&gt;
            if(e.keyCode == ALT_KEY  ){ $.fn.captureKeys.stack.ALT_KEY   = true  }&lt;br /&gt;
            if(e.keyCode == META_KEY ){ $.fn.captureKeys.stack.META_KEY  = true  }&lt;br /&gt;
        }).keyup(function(e){&lt;br /&gt;
            if(e.keyCode == CTRL_KEY ){ $.fn.captureKeys.stack.CTRL_KEY  = false }&lt;br /&gt;
            if(e.keyCode == SHIFT_KEY){ $.fn.captureKeys.stack.SHIFT_KEY = false }&lt;br /&gt;
            if(e.keyCode == ALT_KEY  ){ $.fn.captureKeys.stack.ALT_KEY   = false }&lt;br /&gt;
            if(e.keyCode == META_KEY ){ $.fn.captureKeys.stack.META_KEY  = false }&lt;br /&gt;
        });&lt;br /&gt;
    };&lt;br /&gt;
    $.fn.captureKeys.stack={ CTRL_KEY:false, SHIFT_KEY:false, ALT_KEY:false, META_KEY:false }&lt;br /&gt;
    $.fn.captureKeys.capturing=false;&lt;br /&gt;
    $.fn.isPressed=function(key){&lt;br /&gt;
        switch(key){&lt;br /&gt;
            case  CTRL_KEY: return $.fn.captureKeys.stack.CTRL_KEY;&lt;br /&gt;
            case   ALT_KEY: return $.fn.captureKeys.stack.ALT_KEY;&lt;br /&gt;
            case SHIFT_KEY: return $.fn.captureKeys.stack.SHIFT_KEY;&lt;br /&gt;
            case  META_KEY: return $.fn.captureKeys.stack.META_KEY;&lt;br /&gt;
            default: return false;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})(jQuery);&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
$(function(){&lt;br /&gt;
    mychange = function ( $list ){&lt;br /&gt;
        $( '#'+$list.attr('id')+'_serialised').html( $.dds.serialize( $list.attr('id')) );&lt;br /&gt;
    }&lt;br /&gt;
    $('ul').drag_drop_selectable({&lt;br /&gt;
        onListChange:mychange&lt;br /&gt;
    });&lt;br /&gt;
    $( '#list_1_serialised').html( $.dds.serialize( 'list_1' ) );&lt;br /&gt;
    $( '#list_2_serialised').html( $.dds.serialize( 'list_2' ) );&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form method="post" name="form1" action="test3.php"&amp;gt;&lt;br /&gt;
&amp;lt;div class='panel'&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Erittäin hyvin&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;ul id="list_1"&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class='panel'&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Melko hyvin&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;ul id="list_2"&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class='panel'&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;En osaa sanoa&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;ul id="list_3"&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class='panel'&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Melkoa huonosti&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;ul id="list_4"&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class='panel'&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Erittäin huonosti&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;ul id="list_5"&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id="submit" style="position: absolute; top: 428px; left: 521px; width: auto; height: auto;"&amp;gt;&lt;br /&gt;
&amp;lt;input type="submit" name="tallenna_painike" value="Save" /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id="valintalaatikot" style="position: absolute;  top: 474px; left: 524px;"&amp;gt;&lt;br /&gt;
&amp;lt;div id="laatikko1" style="position: absolute; width: auto; height: auto; left: -16px;"&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul id="aiheet"&amp;gt;&lt;br /&gt;
  	&amp;lt;li id="aiheet_item_1"&amp;gt;Investments&lt;br /&gt;
    &amp;lt;input type="text" name="name1" value="Investoinnit" id="name1" size="30" style="display: none;" /&amp;gt;&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li id="aiheet_item_2"&amp;gt;Family&lt;br /&gt;
    &amp;lt;input type="text" name="name2" value="Perhe" id="name2" size="30" style="display: none;" /&amp;gt;&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li id="aiheet_item_3"&amp;gt;Sport&lt;br /&gt;
    &amp;lt;input type="text" name="name3" value="Urheilu" id="name3" size="30" style="display: none;" /&amp;gt;&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li id="aiheet_item_4"&amp;gt;Frends&lt;br /&gt;
    &amp;lt;input type="text" name="name4" value="Ystävät" id="name4" size="30" style="display: none;" /&amp;gt;&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li id="aiheet_item_5"&amp;gt;Age&lt;br /&gt;
    &amp;lt;input type="text" name="name5" value="Oma ikä" id="name5" size="30" style="display: none;" /&amp;gt;&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li id="aiheet_item_6"&amp;gt;Flexibility&lt;br /&gt;
    &amp;lt;input type="text" name="name6" value="Osaaminen" id="name6" size="30" style="display: none;" /&amp;gt;&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
/*&lt;br /&gt;
foreach($_POST['lista_1[]'] as $v){&lt;br /&gt;
    print $v;    //or anything to do with $v here...&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
// handle data from the lists...&lt;br /&gt;
echo $_POST['name1']; &lt;br /&gt;
echo '&amp;lt;br /&amp;gt;';&lt;br /&gt;
echo $_POST['name2']; &lt;br /&gt;
echo '&amp;lt;br /&amp;gt;';&lt;br /&gt;
echo $_POST['name3']; &lt;br /&gt;
echo '&amp;lt;br /&amp;gt;';&lt;br /&gt;
echo $_POST['name4']; &lt;br /&gt;
echo '&amp;lt;br /&amp;gt;';&lt;br /&gt;
echo $_POST['name5']; &lt;br /&gt;
echo '&amp;lt;br /&amp;gt;';&lt;br /&gt;
echo $_POST['name6']; &lt;br /&gt;
&lt;br /&gt;
?&amp;gt;  &lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;</description>
      <guid isPermaLink="true">http://www.programmersheaven.com/mb/phpstuff/414805/414805/how-to-handle-data-from-different-html-lists/</guid>
      <pubDate>Tue, 23 Mar 2010 01:38:21 -0700</pubDate>
      <category>PHP</category>
    </item>
    <item>
      <title>Re: How to handle data from different html lists?</title>
      <link>http://www.programmersheaven.com/mb/phpstuff/414805/414833/re-how-to-handle-data-from-different-html-lists/#414833</link>
      <description>What a bunch of code you posted there... :-P&lt;br /&gt;
&lt;br /&gt;
Most is Javascript though...&lt;br /&gt;
It's not really clear what you want, but I guess you want to be able to know from witch ul list your data came...?&lt;br /&gt;
&lt;br /&gt;
like:&lt;br /&gt;
&lt;pre class="sourcecode"&gt;
&amp;lt;input name="person1_name" /&amp;gt;
&amp;lt;input name="person1_address" /&amp;gt;
&amp;lt;input name="person1_age" /&amp;gt;

&amp;lt;input name="person2_name" /&amp;gt;
&amp;lt;input name="person2_address" /&amp;gt;
&amp;lt;input name="person2_age" /&amp;gt;

&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
in your php you would then want to save the data from person1 and person2 seperately. is this what you mean?&lt;br /&gt;
&lt;br /&gt;
you could simply do it by naming your varialble a certain way so you can split the data easily, like I did in the above example. I can now do the following:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="sourcecode"&gt;
foreach($_POST as $field=&amp;gt;$value) {
  list($person,$variable) = explode("_", $field);

  switch($person) {
    case "person1":
      $person1[$variable] = $value;
      break;
    case "person2":
      $person1[$variable] = $value;
      break;
    default:
      echo "this is not personal info...".$person."&amp;lt;br /&amp;gt;";
  }
}

// now save your person1 and person2... their data is in seperate arrays now...
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
I hope this was helpfull, if not you'd better rephrase your question...&lt;br /&gt;
&lt;img src="http://www.programmersheaven.com/images/Community/twink.gif" width="15" height="15" alt="" /&gt;&lt;br /&gt;
-mac-&lt;br /&gt;
mailto:mac_doggie@hotmail.com&lt;br /&gt;
the Netherlands...&lt;br /&gt;</description>
      <guid isPermaLink="true">http://www.programmersheaven.com/mb/phpstuff/414805/414833/re-how-to-handle-data-from-different-html-lists/#414833</guid>
      <pubDate>Tue, 23 Mar 2010 15:16:27 -0700</pubDate>
      <category>PHP</category>
    </item>
    <item>
      <title>Re: How to handle data from different html lists?</title>
      <link>http://www.programmersheaven.com/mb/phpstuff/414805/414847/re-how-to-handle-data-from-different-html-lists/#414847</link>
      <description>Hi again and many thanks for the reply.&lt;br /&gt;
&lt;br /&gt;
The point is that I would like to know that where of the 5 ul lists each of the names (Investments, Family, Sport, Friends, Age, Skills) has been dragged.&lt;br /&gt;
&lt;br /&gt;
Like:&lt;br /&gt;
&lt;br /&gt;
list_1 contains: Investments, Sport&lt;br /&gt;
list_2 contains: Family&lt;br /&gt;
list_3 contains: Skills&lt;br /&gt;
list_4 contains: -&lt;br /&gt;
list_5 contains: Friends, Age&lt;br /&gt;
&lt;br /&gt;
Hope you will understand better :)&lt;br /&gt;</description>
      <guid isPermaLink="true">http://www.programmersheaven.com/mb/phpstuff/414805/414847/re-how-to-handle-data-from-different-html-lists/#414847</guid>
      <pubDate>Wed, 24 Mar 2010 01:37:20 -0700</pubDate>
      <category>PHP</category>
    </item>
    <item>
      <title>Re: How to handle data from different html lists?</title>
      <link>http://www.programmersheaven.com/mb/phpstuff/414805/414848/re-how-to-handle-data-from-different-html-lists/#414848</link>
      <description>Hi again and many thanks for the reply.&lt;br /&gt;
&lt;br /&gt;
The point is that I would like to know that where of the 5 ul lists each of the names (Investments, Family, Sport, Friends, Age, Skills) has been dragged.&lt;br /&gt;
&lt;br /&gt;
Like:&lt;br /&gt;
&lt;br /&gt;
list_1 contains: Investments, Sport&lt;br /&gt;
list_2 contains: Family&lt;br /&gt;
list_3 contains: Skills&lt;br /&gt;
list_4 contains: -&lt;br /&gt;
list_5 contains: Friends, Age&lt;br /&gt;
&lt;br /&gt;
Hope you will understand better :)&lt;br /&gt;</description>
      <guid isPermaLink="true">http://www.programmersheaven.com/mb/phpstuff/414805/414848/re-how-to-handle-data-from-different-html-lists/#414848</guid>
      <pubDate>Wed, 24 Mar 2010 01:39:43 -0700</pubDate>
      <category>PHP</category>
    </item>
  </channel>
</rss>