2015-05-15 63 views
2

我有這樣的代碼:動態添加ATTR在nestedSortable的ui.item不顯示

<ol class="champs_form ui-sortable"> 
    <li class="groupe ui-sortable-handle" g_id="88"><ol></ol></li> 
</ol> 

我tryed:

$("ol.champs_form, .champs_form ol").nestedSortable({ 
    revert: true, 
    placeholder: 'placeholder', 
    update: function(event, ui) { 
     alert(ui.item.closest("li.groupe").attr("g_id") + " -- "+ $(this).closest("li").attr("g_id")); 
     theID = 3; 
     ui.item.attr("g_id",theID);  
    } 
}) 

當我拖動一個新項目

<li class="groupe"><ol></ol><li> 

加入我的

ol.champs_form 

結果是如下的螢火:

<ol class="champs_form ui-sortable"> 
    <li class="groupe ui-sortable-handle" g_id="88"> 
     <ol> 
      <li class="groupe" g_id="3"><ol></ol></li> 
     </ol> 
    <li> 
</ol> 

然後,我將另一個

<li class="groupe"><ol></ol><li> 

我的警覺總是返回未定義 - 88,當我從裏的第二級插入當它假設返回3時爲

ui.item.closest("li.groupe").parent().html() 

相反Firebug的,總是給我最初的沒有G_ID = 「3」

謝謝 文森特

回答

0

我想我找到了解決方案,它不是優雅的,但它的工作。

lastIndex = $('ol.champs_form li').index(ui.item); 
closestParent = $("ol.champs_form li:eq("+lastIndex+")").closest("ol").closest("li").attr("g_id");