Ajouter une variable JS dans un sortable_element

bonjour ,
mon probleme est que j’ai ajouté un drag and drop(sortable_element) a
une liste

mais je n’arrive pas a récuperer l’identifiant de la ligne glissée

voici un morceau de code :

    <% for item in @items %>
  • blah blah blahblahblahblah </li </ul

    <%= sortable_element ‘list’,:handle => “handle”,
    :url => {:action => “list” ,
    :tri =>“yes”,
    # :id =>???}
    %>

    jai essayé de mettre un onmouseover sur les lignes une fois le curseur
    est sur une ligne je mets a jour la valeur d’un input mais je sais pas
    comment l’ajouter dans le lien du sortable

    mes questions sont :

    1-quelqun a pu resoudre ce probleme ce recuperer l’id de la ligne
    glissée et l’envoyer avec le sortable_element
    2- comment utiliser une variable javascript dans ruby on rails

    merci

Bonjour :slight_smile:

Comme je te l’ai déja dit sur un autre forum, voici une solution :

<%= sortable_element ‘list’,:handle => “handle”,
:url => {
:action => “list” ,
:tri =>“yes”},
:with=>"‘item_selectionne=’ +
Draggables.activeDraggable.element.id"

%>

le fait de rajouter le :with wa te ‘supprimer’ ton paramètre ‘list’,
faut donc penser à le remettre si tu en as besoin.

Exemple complet :

class TotoController < ApplicationController
def index
@elements = {‘plim’=>1, ‘plam’=>2, ‘ploum’=>3}
end

def voir_tri
valeurs_liste = params[:valeurs_liste].gsub(‘ma_liste[]=’,
‘’).split(’&’)

contenu = "<hr />Ordre de la liste : " + valeurs_liste.inspect + 

'
Element déplacé : ’ + params[:element_selectionne].inspect
render(:update) { |page|
page.replace_html “informations”, contenu
}
end
end

<%= javascript_include_tag :defaults %> titre par défaut
    <% @elements.each do |key, value| -%>
  • <%= value.to_s + '-' + key %>
  • <% end -%>
<div id="informations"></div>

<%= sortable_element 'ma_liste',
  :url=>{ :action => "voir_tri"},
  :with=>"'element_selectionne=' + 

Draggables.activeDraggable.element.id + ‘&valeurs_liste=’ +
escape(Sortable.serialize(‘ma_liste’))"
%>