Ajax - 如何逐个提交输入值 - Codeigniter

时间:2014-10-03 20:30:42

标签: javascript php jquery ajax codeigniter

抱歉我的英语不太好。我是新手:)

我想在Codeigniter中使用ajax更新逐个输入值,但它无法正常工作..只有一个保存按钮(一个表单)工作,其他形式不起作用..请帮我编辑下面的代码

以下是演示代码:

查看:

<script>
   $(function(){
       $(".submit45").click(function(){

         dataString = $("#prod_upd").serialize();
         $.ajax({
           type: "POST",
           url: "<?=PREFIX?>admin/update/change_ppx3/",
           data: dataString,
           success: function(data){
                console.log(data);
               document.getElementById('dd').innerHTML=data;
           }
         }); 
         return false;  

      });
   });
</script>

<?$i=0;if(count($PPX) > 0)foreach($PPX as $item){$i++;?> 
<form name="prod_upd" id="prod_upd" method="post" >
        <input type="text" name="p_ppx" id="p_ppx" size="8" value="<?= number_format($item['p_ppx'],0,'','')?>" class="i_ppx">
        <input type="hidden" name="ids_p" id="ids_p" size="8" value="<?=$item['id']?>" class="i_ppx">
        <input type="button" name="sub" id="sub" class="submit45" value="Save4" />
        <div id="dd" style="float: left;">hello</div>
</form>
    <?}else{?>                                   
    <div class="no_data">Nothing here</div>
<?}?>

控制器:

function change_ppx3(){
    $id_p = $_POST['ids_p'];
    $rs = $this->ppx->get_ppx_by_id($id_p);
    $ppx_value = $_POST['p_ppx'];

    $this->ppx->update_ppx(array("id"=>$id_p),array("ppx_r"=>$ppx_value));        

    if($_POST['p_ppx']):
        echo "done: ";
        print_r($_POST['ids_p']);
        echo "-";
        print_r($_POST['p_ppx']);
        return true;

    endif;

    }

1 个答案:

答案 0 :(得分:0)

因为每个表单都有相同的id =&#34; prod_upd&#34;。

测试这个

<script>
$(function(){
   $(".prod_upd").submit(function(){

     var $this = $(this), dataString = $this.serialize();

     $.ajax({
       type: "POST",
       url: "<?=PREFIX?>admin/update/change_ppx3/",
       data: dataString,
       success: function(data){
           console.log(data);
           $this.find('.dd').html(data);
       }
     }); 
     return false;  

  });
});
</script>

<?$i=0;if(count($PPX) > 0)foreach($PPX as $item){$i++;?> 
<form name="prod_upd" class="prod_upd" method="post" >
    <input type="text" name="p_ppx" size="8" value="<?= number_format($item['p_ppx'],0,'','')?>" class="i_ppx">
    <input type="hidden" name="ids_p" size="8" value="<?=$item['id']?>" class="i_ppx">
    <input type="submit" class="submit45" value="Save4" />
    <div class="dd" style="float: left;">hello</div>
</form>
<?}else{?>                                   
<div class="no_data">Nothing here</div>
<?}?>