存储生成的输入字段的等级

时间:2011-10-11 23:17:18

标签: php javascript jquery codeigniter

我遇到了一些我自己无法修复的问题:(不幸的是......我需要在我的TABLE中存储jQuery生成的一些输入字段的排名,让我解释一下:

当我点击一个按钮时,我在页面中添加一个输入字段,生成的每个输入字段都有一个递增的名称(name0,name1 ...)和一个递增的id(item-1,item-2等等)

我使用jQuery的可排序功能,一切都很好,我拖放我的字段,他们有订单。

我序列化了一切,它给了我:item [] = 0& item; [] = 2& item; [] = 1& item; [] = 3每个字段都有一个等级。那么我现在需要将这个等级存储在我的数据库中与相关的字段(我的表看起来像这样:'id''rank''id字段自动递增)

这是我的代码:

添加领域的JS功能:

$(function() {

 var item = 'item-';
 var i = 0;
 var k = 0;
 var deletebtn = "<div id='deletebtn'>delete this</div>";

 $("#button_add").live("click", function(){
   $('#reorder').append("<li id="+ item + i++ +" class='list_item'>" + "<input type='text' name='title"+ k++ +"' value='' kind='title' />" + deletebtn + "</li>");
 });
}); 

获得SERIALIZE结果:

newRank = $("#reorder").sortable("serialize");
 $("#rank").val(newRank); 

这与输入字段相关联以获取序列化值

<input type="hidden" id="rank" name="rank" value="" />

PHP以$ _POST输入字段:

    $rank = $this->input->post('rank'); 

// THIS WILL GIVE ME THE RESULT : item[]=0&item;[]=2&item;[]=1&item;[]=3

是否有想法在我的数据库中存储与其ID相对应的每个字段的排名?任何帮助将非常感谢!!

1 个答案:

答案 0 :(得分:0)

如果我正确理解你,你当然可以从$rank创建一个数组并循环访问你的数据库插入:

$ranks = explode("&", $rank); // gives an array 

foreach ($ranks as $r)
{
    // you'll have to do some string manipulation here
    $num = str_replace("item[]=", "", $r);

    // $num should now be a number - add it to your db below
    // ...
}

你的$ rank中有一些额外的分号,但不确定这是否是拼写错误。