Получить все значения текстового поля из списка (jQuery Sortable)? - PullRequest
0 голосов
/ 24 июля 2010

У меня есть неупорядоченный список, каждый элемент списка имеет идентификатор (id = "6 ~ OriginalName") - когда я делаю toArray в этом списке, я получаю хороший массив, и каждый элемент выглядит как "6 ~ OriginalName "что я могу разобрать позже.

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

Проблема в том, что теперь я вставил TextBox в каждый список, значение которого равно OriginalName, и теперь пользователь может редактировать имя. Но «toArray» только создает массив на основе идентификатора.

Как я могу создать хороший массив "6 ~ UserEditedName" из текстового поля?

Если мне придется сделать это вручную, я - toArray, как и раньше, каким-то образом создаю массив на основе ВСЕХ значений текстового поля и объединяю 2. Но я понятия не имею, как получить доступ к каждому текстовому полю.

О - пользователь также может добавлять новые элементы в список (следовательно, встроенное текстовое поле), потому что у меня также происходит append(): P

Надеюсь, это имеет смысл.

Изобразите список с кучей текстовых полей, где вы можете «редактировать» список.

Ответы [ 2 ]

0 голосов
/ 24 июля 2010

Вы можете работать на уровне данных и затем отображать (или изменять) список при наличии изменений.

Если ваши данные сложные, вы можете попробовать jOrder http://github.com/danstocker/jorder, так какпредназначен для быстрого поиска, сортировки и группировки на стороне JS.

0 голосов
/ 24 июля 2010

Это решение будет неточным, так как вы не опубликовали свой полный код. Что вы можете сделать, так это найти все текстовые поля, используя соответствующий селектор jQuery, а затем запустить функцию для выбора, чтобы построить свой массив. Пример:

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