Я новичок в jquery, и по какой-то причине мой сортируемый список не работает с sortable
я просто тренируюсь
мой код
$( ".sortable" ).sortable();
$.ajax({
url: baseUrl+'/loadFields/,
dataType: "html",
success: function(data)
{
$('#fields').html(data);
}
});
div, где данные загружаются
<div id="fields"></div>
и html файл, в котором содержится список
<ul class="sortable">
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 1</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 2</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 3</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 4</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 5</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 6</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 7</li>
</ul>
И когда я пытаюсь перетащить, ничего не происходит, если я не загружаю html с помощью ajax и делаю это так
<div id="fields">
<ul class="sortable">
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 1</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 2</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 3</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 4</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 5</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 6</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 7</li>
</ul>
</div>
он отлично работает
Может ли кто-нибудь сказать мне, как использовать его с данными ajax?
HTML
<div id="fields">
<ul class="sortable">
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 1</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 2</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 3</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 4</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 5</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 6</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 7</li>
</ul>
</div>
CSS
.ui-icon {float:left;margin-right:8px;}
JQuery
$(".sortable").sortable("refresh"); // add this line to "re-load" the sortable list after populating
$(".sortable").ready(function() {
$( ".sortable" ).sortable(
{
handle: '.ui-icon-arrowthick-2-n-s',
items: 'li',
containment: '#fields',
forceHelperSize: true,
forcePlaceHolderSize: true,
start: function(e, ui) {
ui.item.addClass('ui-state-highlight');
},
stop: function(e, ui) {
ui.item.removeClass('ui-state-highlight').effect('highlight',{},2000);;
},
update: function() {
$('.sortable').sortable('refreshPositions');
}
}
);
});
.sortable()
.
sortable
списков, если вы правильно идентифицируете списки и тщательно обрабатываете все свойства события. Смотрите мой ответ ниже