2014-06-15 15 views
5

Sto usando il widget ordinabile di jqueryui. Ho bisogno di ottenere gli attributi dei dati dell'attuale elemento trascinato. $ (questo) .data ('attribute_name') non funziona qui. Ho anche provato alcuni altri metodi, ma non ho ottenuto il risultato corretto.jQuery ordinabile - Come ottenere l'attributo trascinato corrente

HTML

<ul class="draggable-item" style="min-height:10px;"> 
    <li data-parent="31" data-id="81" class="ui-state-default">Label</li> 
    <li data-parent="31" data-id="86" class="ui-state-default">Max Value</li> 
    <li data-parent="31" data-id="83" class="ui-state-default">Unit</li> 
    <li data-parent="31" data-id="84" class="ui-state-default">Warning Level High</li> 
    <li data-parent="31" data-id="85" class="ui-state-default">Warning Level Low</li> 
</ul> 

JS

$(document).ready(function() { 
    $(".draggable-item").sortable({ 
    start: function(event, ui) { 
     //Here i need to get current dragged element's 'parent' attribue. 
     //console.log(ui.item[0].attributes); - Here i got the entire attribute values in an array. But the order of the array is different in browsers. 
    }, 
    }).disableSelection(); 
}); 

risposta

5

Prova $(ui.item).data('attribute_name'); o $(event.currentTarget).data('attribute_name');

2

Utilizzando $(this) vi darà l'elemento su cui viene inizializzata l'ordinabile. Fare riferimento allo Sortable Documentation. L'elemento ordinabile corrente è memorizzato nell'oggetto ui e puoi accedervi utilizzando ui.item.

In questo modo è possibile accedere a qualsiasi attributo dell'attuale elemento ordinabile applicando funzioni o metodi su ui.item. Preferisci usare $(ui.item).

Demo: http://jsfiddle.net/lotusgodkk/GCu2D/173/

$(document).ready(function() { 
    $(".draggable-item").sortable({ 
     start: function (event, ui) { 
      var attr = $(ui.item).attr('data-parent'); 
     }, 
    }).disableSelection(); 
}); 
3

sto usando all'evento UPDATE:

update: function (event, ui) { 

      var attr_id = ui.item.attr('data-id'); 
     } 
+0

ringrazio molto, funziona perfettamente senza problemi. –

Problemi correlati