2010-07-23 103 views
0

我有一个无序列表,每个列表项都有一个id(id =“6〜OriginalName”) - 当我在这个列表上做一个toArray时,我得到一个不错的数组,每个项目看起来像“6〜OriginalName”可以稍后解析。获取列表中的所有文本框值(jQuery Sortable)?

$("#roleList").sortable('toArray') 

的问题是,现在我已经嵌入在每个列表一个TextBox,其值的ORIGINALNAME,用户现在可以编辑名称。但是“toArray”只会根据id创建数组。

如何从文本框中创建一个漂亮的“6〜UserEditedName”数组?

如果必须手动完成,我会 - toArray像以前一样,以某种方式创建一个基于所有文本框值的数组并结合2.但我不知道如何访问每个文本框。

哦 - 用户也可以在列表中(因此嵌入式文本框)添加新的项目,因为我有一个append()事情以及:P

我希望这是有道理的。

用一堆texboxes来图片列表,您可以在其中编辑列表。

回答

0

由于您没有发布完整的代码,因此此解决方案不精确。你可以做的是使用适当的jQuery选择器找到所有的文本框,然后针对选择运行一个函数来构建你的数组。例如:

var myArray = new Array(); 
$('#roleList input.myTextBox').each(function() { 
var $textBox = $(this); 
myArray.push($textBox.attr('id') + '~' + $textBox.val()); 
$textBox = null; 
}); 
+0

工作完美。非常感谢。 – Jerrold 2010-07-23 21:43:58

0

您可以在数据级别上工作,然后在发生更改时呈现(或修改)列表。

如果你的数据比较复杂,你可以尝试j0rder http://github.com/danstocker/jorder,因为它旨在处理快速搜索,在JS端排序&分组。