Jquery Sortable

Posted on 2014-04-30
Last Modified: 2014-05-01

I have two issues I'm trying to solve here...

1. If I take a sub-item right now I can drag that sub-item to the main level. I only want to allow the sub-items to be sortable within main groupings.

2. The second issue is that if I drag a main grouping over a sub-item area the "placeholder" css is showing a default state within in the sub-item listings depending the area. I would like to not mislead the user in thinking they can take a main grouping and place it within another main grouping even though the jquery ui is not allowing it on dropping it there (being canceled).

Thanks for the help!
Question by:brihol44
  • 3
  • 2
LVL 38

Expert Comment

by:Tom Beck
Comment Utility
Am I missing something?

Including the custom placeholder it looks like this:

Author Comment

Comment Utility
Thx for the help. I had that working initially but my original jsfiddle I sent was the closest in that I could move any sub-menu or element into any main group not just the original group that you see it in initially.
LVL 38

Accepted Solution

Tom Beck earned 250 total points
Comment Utility
Okay, I did not pick up on that functionality.

In that case, I would suggest not initializing the sortables until you know which level <li> is being grabbed. You can do this on mousedown.

Note that in order for you to be able to move inner <li> items into any empty outer containers, you will need to have an empty <ol class="inner"> inside all top level <li>s so you have a container to drop the inner <li> items into. Also, that inner <ol> will need to have some minimum dimension for it to actually provide space to drop the inner <li> items into. To that end, I have added this bit of css to your fiddle.

ol > li > ol {

Author Closing Comment

Comment Utility
Awesome! Nice job and thank for explaining things so I can learn.
LVL 38

Expert Comment

by:Tom Beck
Comment Utility
You're welcome, glad to help.

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

There are a couple ways to attach a JavaScript function to dynamically created elements. You can make a new script for each element as it’s created or you can use delegation. Delegation allows a single script that is added at page creation to mat…
Introduction JSON is an acronym for JavaScript Object Notation.  It is a text-string data transport mechanism, capable of representing simple or complex data structures in a consistent and easy-to-read manner.  Similar in concept to XML, but more e…
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now