【发布时间】:2011-07-30 05:24:08
【问题描述】:
当我对孩子进行排序时,我得到了父母和孩子的价值,但它会像(title1orangepinkyellowgreen,title1orangepinkyellowgreen,title1orangepinkyellowgreen,title1orangepinkyellowgreen),但我必须这样打印(Title1_orange,title_pink...)
var addPositions = function() {
$('.droptrue, .droptrue1').each(function() {
var position = 0;
$(this).children().each(function() {
$(this).data('position', position);
position++;
});
});
};
$(document).ready(function() {
var treeList = "";
treeList = "<ul id=\"createTree\" class=\"droptrue1 mt1\">";
for(var key in jsonObj){
//alert("key: " + key + ", value: " + jsonObj[key])
for (var skey in jsonObj[key]) {
treeList += ("<li class=\"listTree\" id=\"asdf\">"+skey +"<ul class=\"droptrue mt\">");
for (var sskey in jsonObj[key][skey]){
for (var ssskey in jsonObj[key][skey][sskey]){
treeList += ("<li class=\"innerList\">"+jsonObj[key][skey][sskey][ssskey]+"</li>");
}
}
treeList += "</ul></li>";
}
}
treeList += "</ul>";
$('#tree').append(treeList);
addPositions();
$(".droptrue").sortable({
connectWith: "ul.mt",
dropOnEmpty: true,
stop: function(event, ui) {
var order = [];
ui.item.closest('ul').children('li').each(function() {
order.push($(this).data('position'));
var c = $(this).text();
var z = $(this).parents().eq(1).text();
alert(z);
$("#cl").append(z+"<br />");
});
}
});
这里小提琴链接:http://jsfiddle.net/thilakar/VKWeC/
谢谢
【问题讨论】:
-
我可以告诉你为什么会这样。它上升到父 li 项目。 li 项目虽然在其中包含该列表。所以它将包括一切。你可以在那里创建一个跨度或其他东西,这样你就可以只达到那个跨度吗?
标签: jquery html jquery-ui-sortable jquery-ui-draggable jquery-ui-droppable