jQuery UI Nested Sortable,发送附加数据

时间:2011-02-11 16:25:04

标签: jquery-ui jquery-ui-sortable

jQuery UI Nested Sortable 1.2.1有关的另一个问题。

我们称这个函数为:

$(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'
});

想法是在toArray函数中以下列方式使用三个变量left_val,root_id和holder。

var left = this.left_val;
var root_id = this.root_id;

当然,这不起作用。值以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?>">发送left和root_id值,然后在js页面中,我尝试了

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

但我警告$(this).parent().attr('class')undefined

2 个答案:

答案 0 :(得分:0)

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

以下是更多文档Link

答案 1 :(得分:0)

这最终解决了:

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