Desejo usar a sortable
função da interface do usuário do jQuery para permitir que os usuários definam um pedido e, depois de alterados, grave-o no banco de dados e atualize-o. Alguém pode escrever um exemplo de como isso seria feito?
125
toArray
daria uma série de IDs classificados, acho que pode ser útil. api.jqueryui.com/sortable/#method-toArrayRespostas:
O
sortable
recurso de interface do usuário do jQuery inclui umserialize
método para fazer isso. É bem simples, realmente. Aqui está um exemplo rápido que envia os dados para o URL especificado assim que um elemento muda de posição.O que isso faz é que ele cria uma matriz dos elementos usando os elementos
id
. Então, eu costumo fazer algo assim:Quando você usa a
serialize
opção, ela cria uma string de consulta POST como esta:item[]=1&item[]=2
etc. Portanto, se você usar, por exemplo, seus IDs de banco de dados noid
atributo, poderá simplesmente percorrer a matriz POSTed e atualizar as posições dos elementos de acordo. .Por exemplo, no PHP:
Exemplo em jsFiddle.
fonte
$("#element").children().uniqueId().end().sortable({...
Achei que isso poderia ajudar também. A) foi projetado para manter a carga útil no mínimo enquanto envia de volta ao servidor, após cada classificação. (em vez de enviar todos os elementos a cada vez ou iterar através de muitos elementos que o servidor pode descartar) B) Eu precisava enviar de volta o ID personalizado sem comprometer o ID / nome do elemento. Esse código obterá a lista do servidor asp.net e, após a classificação, apenas 2 valores serão enviados de volta: O ID do banco de dados do elemento classificado e o ID do elemento ao lado do qual ele foi descartado. Com base nesses 2 valores, o servidor pode identificar facilmente a nova posição.
fonte
Você está com sorte, eu uso exatamente no meu CMS
Quando você deseja armazenar o pedido, basta chamar o método JavaScript
saveOrder()
. Ele fará umaPOST
solicitação do AJAX para saveorder.php, mas é claro que você sempre poderá publicá-la como um formulário regular.Em saveorder.php; Lembre-se de que removi toda a verificação e verificação.
fonte
Este é o meu exemplo.
https://github.com/luisnicg/jQuery-Sortable-and-PHP
Você precisa capturar o pedido no evento de atualização
fonte
Eu posso alterar as linhas seguindo a resposta aceita e o exemplo associado no jsFiddle. Mas, devido a alguns motivos desconhecidos, não foi possível obter os IDs após as ações "parar ou alterar". Mas o exemplo publicado na página da interface do usuário do JQuery funciona bem para mim. Você pode verificar esse link aqui.
fonte
Tente com esta solução: http://phppot.com/php/sorting-mysql-row-order-using-jquery/ em que o novo pedido é salvo em algum elemento HMTL. Em seguida, você envia o formulário com esses dados para algum script PHP e itera-o através do loop for.
Nota: Eu tive que adicionar outro campo db do tipo INT (11) que é atualizado (registro de data e hora) em cada iteração - serve para o script saber qual linha é atualizada constantemente, ou então você acaba com resultados embaralhados.
fonte