2012-07-12 4 views
0

J'utilise plusieurs jquery-ui-selectable dans une page Web. Je veux que la valeur de texte sélectionnée soit affichée dans un champ de texte. Fondamentalement, j'ai conçu une structure de catégorie où j'ai utilisé l'accordéon comme une tête et sélectionnable comme une sous-catégorie.Sélection multiple, réinitialisation de tous les autres après la sélection

Je suis capable de l'afficher dans un champ de texte, mais le problème est que lorsque je veux sélectionner l'élément d'un autre accordéon, la valeur de l'élément de l'accordéon précédent est ajoutée dans le champ de texte. C'est juste parce que l'objet de l'accordéon précédent est toujours dans l'état sélectionné. Je veux le désélectionner de l'accordéon précédent dès que je clique sur l'élément de l'accordéon suivant.

Répondre

0

Si j'ai bien compris votre question, tout ce dont vous avez besoin est d'implémenter un gestionnaire de changement.

Exemple de code pourrait ressembler à ce qui suit:

$(".selectable").selectable({ 

    // change handler 
    stop: function() { 

     // reset all selected values in other selectables 
     $('.selectable').not(this).find('li').removeClass('ui-selected'); 

     // print currently selected value(s) 
     $('#result').val(
      $(".ui-selected").map(function() { 
       return $(this).text(); 
      }).get().join(";") 
     ); 
    } 

});​ 

voir vivre dans cette FIDDLE.