我正在使用jQuery进行ajax调用
我正在使用以下选项
'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...");
}'
我的问题是我有id="sortable2"
我需要获取列表项的所有id并通过ajax调用传递它们
<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>
我尝试在before函数中执行此操作,但不确定如何将它们与data选项中的值一起传递?
答案 0 :(得分:1)
最简单的方法是修改str的范围,使其在'data'=>{here}
中可见。只需在调用发送函数之前声明它。
'data'=>'js:{group_id:$("#UserGroup_groups").val(),user_id:1, ids: str}',