I’m making a ajax call using jQuery
I’m making use of the following options
'type'=>'POST',
'beforeSend'=>'function(){
$("#loader").addClass("loader").html("Updating...");
$("#add").attr("disabled","disabled");
$("#remove").attr("disabled","disabled");
$("#assign").attr("disabled","disabled");
var str = "ids:";
$("#sortable2 li").each(function(){
if($(this).attr("id") != ""){
str = str+$(this).attr("id")+"|";
}
})
alert(str)
}',
'data'=>'js:{group_id:$("#UserGroup_groups").val(),user_id:1}',
'success'=>'function(data,status){
alert(data)
}',
'complete'=>'function(){
$("#add").removeAttr("disabled");
$("#remove").removeAttr("disabled");
$("#assign").removeAttr("disabled");
$("#loader").addClass("loader").html("Update Successful...");
}'
My problem is I have an unordered list with id="sortable2"
I need to get all the id’s of the list items and pass them via the ajax calls aswell
<ul id="sortable2">
<li id="1">...</li>
<li id="2">...</li>
<li id="3">...</li>
<li id="5">...</li>
<li id="7">...</li>
<li id="87">...</li>
</ul>
I tried to do this in the before function, but not sure how to pass them together with the values in the data option?
The easiest way would be to modify the scope of str so it would be visible in
'data'=>{here}. Just declare it before calling sending function.'data'=>'js:{group_id:$("#UserGroup_groups").val(),user_id:1, ids: str}',