jquery循环通过li在c#中创建json进程

时间:2013-09-26 18:36:42

标签: c# jquery ajax json

我有数据库中的项目列表

ITEMS
  I_id int,
  I_name varchar(50),
  I_order int

我在ul li

中显示了它
<ul id='items'>
   <li><span class='txt'>item-1</span> <span class='mOrder'>1</span></li>
   <li><span class='txt'>item-2</span> <span class='mOrder'>2</span></li>
   <li><span class='txt'>item-3</span> <span class='mOrder'>3</span></li>
   <li><span class='txt'>item-4</span> <span class='mOrder'>4</span></li>
   <li><span class='txt'>item-5</span> <span class='mOrder'>5</span></li>
   <li><span class='txt'>item-6</span> <span class='mOrder'>6</span></li>
   <li><span class='txt'>item-7</span> <span class='mOrder'>7</span></li>
   <li><span class='txt'>item-8</span> <span class='mOrder'>8</span></li>
   <li><span class='txt'>item-9</span> <span class='mOrder'>9</span></li>
</ul>
<input type='button' id='btnSave' value=' Save order ' />

通过jquery可排序插件排序

$(".items").sortable({
   $(".items li").each(function () {
       var OrderNum = (parseInt($(this).index()) + 1);
       $(".mOrder", this).html(OrderNum);
   });
});

现在我要保存新订单
我有saveOrder.ashx文件来更新数据库中的记录
我在ajax中发送数据时遇到问题 我正在尝试如下

$("#btnSave").click(function(){
    var arr=[];
    $(".items li").each(function () {
        arr.push({'m'+$(this).index():$(".txt",this).html()});
        //m0:item1, m1:item2,....
    });
    $.ajax({
         url:'',
         data:arr;//here is problem
    });
});

我发送此邮件但在saveOrder.ashx中无法访问 我可以尝试任何替代方案

1 个答案:

答案 0 :(得分:0)

我可能有两个答案:

  1. 将数组包装在JSON对象中:

    URL: '', data:{'arrayofObjects':arr}

  2. JSON.stringify()

    URL: '', data:JSON.stringify(arr)

  3. 附加:

    1. JSON.stringify()+ JSON对象换行

      URL: '', data:JSON.stringify({arrayofObjects:arr})