2011-02-11 47 views
0

jQuery UI Nested Sortable 1.2.1有关的另一个问题。jQuery UI嵌套可排序,发送附加数据

我们称这样的功能:

$(document).ready(function(){ 
$('ol.sortable').nestedSortable({ 
disableNesting: 'no-nest', 
forcePlaceholderSize: true, 
handle: 'div', 
items: 'li', 
opacity: .6, 
placeholder: 'placeholder', 
tabSize: 25, 
tolerance: 'pointer', 
toleranceElement: '> div' 
}); 

我在想我怎么才能通过这个发送附加信息,如:

$(document).ready(function(){ 
$('ol.sortable').nestedSortable({ 
disableNesting: 'no-nest', 
forcePlaceholderSize: true, 
handle: 'div', 
items: 'li', 
left_val: '<?=$lft?>', 
root_id: '<?=$id?>', 
opacity: .6, 
placeholder: 'placeholder', 
tabSize: 25, 
tolerance: 'pointer', 
toleranceElement: '> div' 
}); 

想法是用三个变量,left_val,root_id并在toArray函数中以下列方式保存。当然,这是行不通的。价值观以NaN,NaN和未定义的形式出现。

做一个alert(left+' '+root_id);略低于var left = this.left_val; var root_id = this.root_id;是给我一个警告,说明undefined undefined

选项的选项从parent plugin jQuery UI到来。

只是想知道是否有人可以投诉此事,请。

编辑:

我尝试了不同的技巧。我试图通过<ol class="sortable" title="<?=$lft?>|<?=$id?>">发送左和root_id值,然后在JS页面,我试图

if ($(this).parent().attr('class') == 'sortable') { 
var idArray = $(this).parent().attr('title').split("|"); 
} 

但是我却越来越$(this).parent().attr('class')undefined戒备状态。

回答

0

这最终被解决:

var idArray =$(this.element).closest("ol.sortable").attr('title').split("|"); 
0

你看过JQuery.data()吗?这将使您可以使用元素将任意数据存储在键/值对中。 JQuery Data() Documentation

下面是一些更多的文档Link

+0

感谢凯尔。数据非常有趣。然而,根据[这个jQuery UI页面](http://jqueryui.com/demos/sortable/#options),数据显然不是可用选项的一部分。 – 2011-02-11 17:31:36