2011-07-03 2 views
0

Я пытаюсь поместить все li id ​​из itemWrapper в один массив после того, как заказ был изменен.jQuery ui sortable toArray skips 1 item

Он делает это, но он теряет один предмет все время. Неважно, сколько у него есть. Каждый раз, когда ему не хватает одного идентификатора.

Что я делаю неправильно?

var result = ""; 
$("#itemWrapper").sortable({change: function(event, ui) { 
    result = $("#itemWrapper").sortable("toArray"); 
}}); 
$(".colItem").disableSelection(); 

<ul id="itemWrapper" style="list-style-type:none;"> 
<li class="colItem ui-state-default" style="margin-right:-5px;" id="item_48_0_1"><img src="../images/items/1309680939.jpg" width="190" height="130" alt="3768" /></li> 
<li class="colItem ui-state-default" style="margin-right:-5px;" id="item_50_0_1"><img src="../images/items/1309681037.jpg" width="190" height="130" alt="3765" /></li> 
<li class="colItem ui-state-default" style="margin-right:-5px;" id="item_58_0_1"><img src="../images/items/1309681326.jpg" width="190" height="130" alt="3768" /></li> 
<li class="colItem ui-state-default" style="margin-right:-5px;" id="item_51_0_1"><img src="../images/items/1309681056.jpg" width="190" height="130" alt="11090" /></li> 
<li class="colItem ui-state-default" style="margin-right:-5px;" id="item_52_0_1"><img src="../images/items/1309681077.jpg" width="190" height="130" alt="3766" /></li> 
<li class="colItem ui-state-default" style="margin-right:-5px;" id="item_53_0_1"><img src="../images/items/1309681100.jpg" width="190" height="130" alt="3769" /></li> 
<li class="colItem ui-state-default" style="margin-right:-5px;" id="item_54_0_1"><img src="../images/items/1309681118.jpg" width="190" height="130" alt="11092" /></li> 
<li class="colItem ui-state-default" style="margin-right:-5px;" id="item_55_0_1"><img src="../images/items/1309681135.jpg" width="190" height="130" alt="11077" /></li> 
<li class="colItem ui-state-default" style="margin-right:-5px;" id="item_56_0_1"><img src="../images/items/1309681155.jpg" width="190" height="130" alt="3762" /></li> 
<li class="colItem ui-state-default" style="margin-right:-5px;" id="item_57_0_1"><img src="../images/items/1309681177.jpg" width="190" height="130" alt="3761" /></li> 
</ul> 
+1

Я не вижу ничего подобного - http://jsfiddle.net/csPv9/ Не могли бы вы отредактировать эту скрипту, чтобы воспроизвести ошибку? – Dogbert

+0

Подтвердил, что он работает на скрипке Соберта. – AlienWebguy

ответ

6

Я думаю, проблема в том, что вы используете неправильное событие. Если вы используете «stop», он работает. скрипка здесь: http://jsfiddle.net/jeYPJ/

$("#itemWrapper").sortable({stop: function(event, ui) { 
    result = $("#itemWrapper").sortable("toArray"); 
    console.log(result.length); 

}}); 

Тхи связан с тем, я думаю, что событие изменения срабатывают во время сортировки: в этом случае он не считается деталью вы сортировкой.

+0

Спасибо! Это исправлено! – Boyd

Смежные вопросы