0

无法获取项目被拖入的列表的父 ID。我可以很容易地获得项目的 ID,并认为我可以从中获得父母,但似乎无法抓住它!

 <li id="tag_772" class="tag tagAssigned ui-draggable" >adventurous briefs</li> 

是李拖进来的。非常感谢任何帮助!

$("li.tag").draggable({ 
        connectToSortable: 'ul.assignedClass',
        helper: 'clone',
        stop: function(event, ui) { 
            projectTags('add',$(this))
        }
    });

    function projectTags(fnc, tag){
        var tagID =  $(tag).attr("id")

        var parentID = $("#"+tagID).closest('ul').attr("id"); /// closest, parent & parents doesn't work?

        $("#fdbk").prepend("<li>fnc:"+fnc+", tag:"+tagID+" < "+ $("#"+tagID).parents("ul:first").attr("id")+"</li>");

    }

html;

<ul id="tags_978" class="assignedClass ui-sortable">

                <li id="existingTag_1029" class="tagAssigned">space </li>  


                <li id="existingTag_1030" class="tagAssigned">light </li>  


                <li id="existingTag_1031" class="tagAssigned">continuous landscape </li>  


                <li id="existingTag_1032" class="tagAssigned">structural glass </li>
<li id="tag_772" class="tag tagAssigned ui-draggable" >adventurous briefs</li>  



        </ul>
4

3 回答 3

4

编辑:

var parentID = $("#existingTag_"+tagID).parent('ul').attr("id");

尝试这个;)

于 2010-01-19T15:10:35.180 回答
1

改变

var tagID =  $(tag).attr("id")

var tagID =  tag.attr("id");

这避免了嵌套的 dom 解析,并在语句的末尾添加了分号。编辑:为了清楚起见,此外:

var parentID = $('#'+tagID).parent('ul').attr('id'); 
于 2010-01-19T15:25:36.240 回答
0

好的 - 走了很长的路...

$(document).ready(function(){

    var selectedList;

    $("#tagBrowser").resizable({
        grid: 20,

    });

    $("#tagBrowser").draggable({ 


    });

    $("ul.assignedClass").sortable({
        revert: true,
        items: 'li.tagAssigned', 
        stop: function(event, ui) { 

        },
       sort: function(event, ui) { 
       },
       change: function(event, ui) { 
            $("#fdbk").prepend("<li>change:"+$(this).attr("id")+" </li>");
            selectedList = $(this);
       }

    });

    $("li.tag").draggable({ 
        connectToSortable: 'ul.assignedClass',
        helper: 'clone',
        stop: function(event, ui) { 
            projectTags('add',$(this))
        }
    });


    function projectTags(fnc, tag){
        var tagID =  tag.attr("id");

        var parentID =  selectedList.attr("id"); /// closest, parent & parents doesn't work?

        $("#fdbk").prepend("<li>fnc:"+fnc+", tag:"+tagID+" < "+parentID+"</li>");

    }



});
于 2010-01-19T16:15:06.670 回答