Ajax发布不通过所有数据发送

时间:2011-01-16 11:39:00

标签: jquery

我正在使用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选项中的值一起传递?

1 个答案:

答案 0 :(得分:1)

最简单的方法是修改str的范围,使其在'data'=>{here}中可见。只需在调用发送函数之前声明它。

'data'=>'js:{group_id:$("#UserGroup_groups").val(),user_id:1, ids: str}',

相关问题