С jquery ui Sortable, когда происходит изменение, выполняется функция 'позиции'. В нем есть сообщение ajax, но оно не отправляется при срабатывании позиции:
$('#col').Sortable(
{
accept: 'widget',
opacity: 0.5,
helperclass: 'helper',
change: positions,
handle: '.widget_title_bar'
}
);
Тем не менее, «позиции» определенно работают, потому что, когда я обычно вызываю их с помощью действия «щелкнуть», сообщение ajax отправляется. Единственное, о чем я могу думать, это то, что позиции написаны в javascript, а не в jquery. Как я могу решить эту проблему?
РЕДАКТИРОВАТЬ Я включил позиции ниже:
function positions(){
var widgets = '';
var column = document.getElementById('col');
for(i = 0; i < col_1.childNodes.length; i++) {
var str1 = col_1.childNodes[i].className;
if(str1 && str1.match('widget')) widgets+='&c[1]['+i+']='+col_1.childNodes[i].id;
}
xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
xmlhttp.open('POST', '/positions.php', true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("widgetpositions="+widgets);
xmlhttp.send(null);
return true;
}