2014-06-15 14 views
5

Ich benutze jqueryui sortierbare Widget. Ich muss die Datenattribute des aktuellen gezogenen Elements abrufen. $ (this) .data ('attribute_name') funktioniert hier nicht. Ich habe auch einige andere Methoden versucht, aber nicht das richtige Ergebnis bekommen.jQuery Sortierbar - So erhalten Sie aktuelle Element Element gezogen

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(); 
}); 

Antwort

5

Versuchen $(ui.item).data('attribute_name'); oder $(event.currentTarget).data('attribute_name');

2

$(this) Verwendung finden Sie das Element, zu dem der sortierbare initialisiert wird. Siehe die Sortable Documentation. Der aktuelle sortierbare Artikel wird in ui Objekt gespeichert und Sie können darauf zugreifen, indem Sie ui.item.

So können Sie auf jedes Attribut des aktuellen sortierbaren Elements zugreifen, indem Sie Funktionen oder Methoden auf ui.item anwenden. Verwenden Sie vorzugsweise $(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

ich bei UPDATE Veranstaltung bin mit:

update: function (event, ui) { 

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

Vielen Dank, es funktioniert perfekt ohne Probleme. –

Verwandte Themen