Search code examples
jqueryjquery-ui-sortabledraggable

How to make Sortable lists with some items that can't be dragged with jQuery


I used this code to build 7 different lists. The items in it can be dragged around freely between those lists. Now i want to have some items to be fixed in their lists, so they can't be dragged around anymore. How could i do that?


Solution

  • You can use this one

    HTML

    <ul id="sortable1" class="connectedSortable">
      <li class="ui-state-default">Item 1</li>
      <li class="ui-state-default ui-state-disabled">Item 2</li>
      <li class="ui-state-default">Item 3</li>
      <li class="ui-state-default">Item 4</li>
      <li class="ui-state-default ui-state-disabled">Item 5</li>
    </ul>
    
    <ul id="sortable2" class="connectedSortable">
      <li class="ui-state-highlight ui-state-disabled">Item 1</li>
      <li class="ui-state-highlight">Item 2</li>
      <li class="ui-state-highlight">Item 3</li>
      <li class="ui-state-highlight">Item 4</li>
      <li class="ui-state-highlight ui-state-disabled">Item 5</li>
    </ul>
    

    Java-Script

    $( function() {
        $( "#sortable1, #sortable2" ).sortable({
          connectWith: ".connectedSortable",
           items: "li:not(.ui-state-disabled)"
        }).disableSelection();
      } );
    

    CSS

     #sortable1, #sortable2 {
        border: 1px solid #eee;
        width: 142px;
        min-height: 20px;
        list-style-type: none;
        margin: 0;
        padding: 5px 0 0 0;
        float: left;
        margin-right: 10px;
      }
      #sortable1 li, #sortable2 li {
        margin: 0 5px 5px 5px;
        padding: 5px;
        font-size: 1.2em;
        width: 120px;
      }
    

    you can check this link http://jsfiddle.net/yrmewjok/