jQuery: Что сделать со списком, которые поддающийся сортировке ('сериализируют') возвраты?

Просто используйте заменить

the_str = '###hi##python##python###'
clean_str = the_str.replace('#','')
print(clean_str)

Выход

hipythonpython
13
задан Adam Lear 5 December 2011 в 05:18
поделиться

3 ответа

Найденный им! Я должен был добавить опцию key:'string' который меняет имя переменной для 'представления в виде строки' вместо 'идентификатора'.

var order = $('#projects ul').sortable('serialize',{key:'string'});

$.post('ajax.php',order+'&action=updateOrder');
16
ответ дан 1 December 2019 в 17:55
поделиться

Позволяет говорят, что Вы заказывали сообщения печати, и Ваша страница отправила это в"? идентификатор [] =2&id [] =3&id [] =1&id [] =4&id [] =5" Ваших кодов php.

$_POST['id'] # would be [2,3,1,4,5]

// Now we need to update the position field of these items    

foreach($_POST['id'] as $i=>$id ):
   // For our first record, $i is 0, and $id is 2.

   $post = Post::get($id); # Do you own database access here
   $post->position = $i; # Set the position to its location in the array
   $post->save(); # Save the record
endforeach
7
ответ дан 1 December 2019 в 17:55
поделиться

Я думаю, что лучший способ - вообще не использовать sortable('serialize'), а использовать jQuery для простого итерационного перебора отсортированных id, например, так:

order = [];
$('ul').children('li').each(function(idx, elm) {
  order.push(elm.id.split('_')[1])
});                                     
$.get('ajax.php', {action: 'updateOrder', 'order[]': order});

Это имеет преимущество перед явным добавлением сериализованного sortable к URL (или параметру) в том, что он вообще не включает параметр order[], если в списке нет li. (Когда у меня возникла эта проблема, я использовал sortable(connectWith: 'ul'), поэтому для пользователя было вполне возможно перетащить все li из одного списка). Напротив, при добавлении сериализованного сортируемого оставался нежелательный '&'.

13
ответ дан 1 December 2019 в 17:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: