views:

120

answers:

2

Ok, what I'm trying to do is build a web app that allows students to visually organize their class calendar using drag and drop. but They have to be able to drag and drop to specific locations (when those classes are available), not just anywhere.

This would be a 'fixed week' calendar. I was considering using a table, but was wondering if anyone thought this might be an issue for the drag and drop and if you had suggestions for a better implementation. Would love to hear your thoughts. I'm a very visual thinker and know this sort of app would help me.

Alternatively, if you know of something like this already implemented which I can use, Let me know!

+2  A: 

How about using Dojo toolkit to implement the heavy lifting? They have a class for it.

From this example documentation:

<body style="font-size: 12px;">
<h1>A Simple Example</h1>
<table><tbody><tr>
<td>
<!-- Create a source with two nodes -->
<div dojoType="dojo.dnd.Source" jsId="c1" class="source">
        SOURCE
        <div class="dojoDndItem" dndType="blue">
                <div class="bluesquare">BLUE</div>
        </div>
        <div class="dojoDndItem" dndType="red,darkred">
                <div class="redsquare">RED</div>
        </div>
</div>
</td>
<td>
<!-- Create a target that accepts nodes of type red and blue. -->
<div dojoType="dojo.dnd.Target" jsId="c2" class="target" accept="blue,darkred">
        TARGET
</div>
</td>
</tr><tbody/></table>

you can see if it fits your problem. Its pretty nice and clean.

Tuminoid
This is the official documentation: http://docs.dojocampus.org/dojo/dnd
Eugene Lazutkin
thanks. I'm still debating which framework to use (dojo, jquery, prototype or Yahoo UI). This will definitely help me conceptualize what I want to do.
Vikram Haer
A: 

jQuery has draggable droppable classes to do what you need, haven't used them tho.

However i've built a javascript system to categorize mobile phone content using drag and drop quite successfully using openrico, that was several years ago, now i would definately give jQuery a try..

miceuz