Seaside jQuery - 通过拖放对列表进行排序并通过 Ajax 将其发回会导致 OrderedCollection 变成数组?
Seaside jQuery - Sorting a list with drag and drop and sending it back via Ajax causes OrderedCollection to turn into an Array?
下面的代码来自 Seaside 书:http://book.seaside.st/book/web-20/jquery/enhanced-todo-application/drag-and-drop
html jQuery new sortable
onStop:
(html jQuery ajax
callback: [ :items | modelRole getModelRolePlayer setItemList: items ]
passengers: (html jQuery this find: 'li'));
axis: 'y'
我的实例变量_itemList 最初是OrderedCollection。一旦我在页面中四处移动行,整个列表就会以新的顺序发回。但是,这次 setItemList: 接收到一个 Array.
这有意义吗?我错过了什么吗?
所以问题是 #callback:passenger:
使用 #subStrings:
从 AJAX 回调中获取元素 ID,然后对该集合执行 #collect:
以确定 Smalltalk对象。由于 #subStrings:
return 是一个数组,因此 #collect:
也将 return 是一个数组。
解决方法:先将#asOrderedCollection
发送到数组再存储:
(html jQuery ajax
callback: [ :items | modelRole getModelRolePlayer setItemList: items asOrderedCollection ]
passengers: (html jQuery this find: 'li'));
下面的代码来自 Seaside 书:http://book.seaside.st/book/web-20/jquery/enhanced-todo-application/drag-and-drop
html jQuery new sortable
onStop:
(html jQuery ajax
callback: [ :items | modelRole getModelRolePlayer setItemList: items ]
passengers: (html jQuery this find: 'li'));
axis: 'y'
我的实例变量_itemList 最初是OrderedCollection。一旦我在页面中四处移动行,整个列表就会以新的顺序发回。但是,这次 setItemList: 接收到一个 Array.
这有意义吗?我错过了什么吗?
所以问题是 #callback:passenger:
使用 #subStrings:
从 AJAX 回调中获取元素 ID,然后对该集合执行 #collect:
以确定 Smalltalk对象。由于 #subStrings:
return 是一个数组,因此 #collect:
也将 return 是一个数组。
解决方法:先将#asOrderedCollection
发送到数组再存储:
(html jQuery ajax
callback: [ :items | modelRole getModelRolePlayer setItemList: items asOrderedCollection ]
passengers: (html jQuery this find: 'li'));