2016-02-23 26 views
1

我需要排列在div內具有相同的id和類的項目。我有問題要返回tkEmail標記的值。我無法獲得價值。 例如: 項目1 訂單:0值:1可排序的新訂單錯誤獲取值tkEmail

HTML:

<div id="sortable"> 
    <div class='sortear' tkEmail='1'>Item 1</div> 
    <div class='sortear' tkEmail='2'>Item 2</div> 
</div> 

<br> 

<div id="sortable"> 
    <div class='sortear' tkEmail='3'>Item 3</div> 
    <div class='sortear' tkEmail='4'>Item 4</div> 
</div> 

JS:

$(document).ready(function() { 
    $('div#sortable').sortable({ 
     update: function() { novaOrdem() }, 
    }); 
}); 

function novaOrdem(){ 
    $('div#sortable').each(function (i) { 
    alert($(this).attr('tkEmail')) 
    }); 
    } 
+0

http://api.jqueryui.com/sortable/ –

+0

'Id'必須是獨一無二的。你不能有兩個''div''''''可排序'' – Yass

回答

0

Id■找是唯一的,你沒有真正檢查孩子divs致電each$('div#sortable').children()會給你你想要的。此外,tkEmail無效,最好使用data屬性,例如data-tk-email

HTML:

<div id="sortable"> 
    <div class='sortear' data-tk-email='1'>Item 1</div> 
    <div class='sortear' data-tk-email='2'>Item 2</div> 
    <div class='sortear' data-tk-email='3'>Item 3</div> 
    <div class='sortear' data-tk-email='4'>Item 4</div> 
</div> 

JQuery的:

$(document).ready(function() { 
    $('div#sortable').sortable({ 
    update: function() { 
     novaOrdem() 
    }, 
    }); 
}); 

function novaOrdem() { 
    var items = $('div#sortable').children(); 
    $.each(items, function() { 
    alert($(this).html() + ', Order: ' + $(this).index() + ', Value: ' + $(this).data('tkEmail')) 
    }); 
} 

Fiddle Demo