如何在ci中使用动态添加和删除时内爆textarea值?

tzcvj98z  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(321)

这是我的控制器:

public function detail()
{
    if($this->input->post('submit'))
    {
        $a = $this->input->post('tutorial_overview');
        $tutorial_overview = implode(",",(array) $a);
        $data = array(
                        'tutorial_overview' => $tutorial_overview
                    );

        print_r($data)
    }
}

视图:detail.php

<script>
    $(document).ready(function(){
        $("#btnAdd").click(function() {
            $("#add_ck").append('<div class="con"><label class="col-sm-3 control-label no-padding-right" for="form-field-1">Sub Heading Overview</label><div class="col-sm-7"><textarea id="overview" name="overview" class="col-xs-12"></textarea></div>' + '<input type="button" class="btnRemove" value="Remove"/></div>');
        });
        $('body').on('click','.btnRemove',function() {
            $(this).parent('div.con').remove()
        });
    });
</script>

<div class="form-group" id="add_ck">
    <label class="col-sm-3 control-label no-padding-right" for="form-field-1">Sub Heading Overview</label>
    <div class="col-sm-7">
        <textarea id="overview" name="overview" class="col-xs-12"></textarea>
    </div>
    <div class="col-sm-2">
        <input id="btnAdd" type="button" value="Add" />
    </div>
</div>

在这段代码中,我有一个textarea,在这里我使用了通过jquery添加和删除更多textarea。现在的问题是,当我使用内爆函数用逗号(,)分隔textarea值,但现在当我点击add按钮,在文本框内写一些东西,然后打印值时,会发生什么,它会显示最后一个textarea值内爆函数不起作用。那么,如何解决这个问题呢?
谢谢您

bfrts1fy

bfrts1fy1#

希望这能帮助您:
替换文本区域 name 属性 name="overview" 用这个 name="overview[]" ,都在 form 以及 js 代码
以及你的控制器方法 detail 应该是这样的:

public function detail()
{
    if($this->input->post('submit'))
    {
        $a = $this->input->post('tutorial_overview');

        if ( ! empty($a))
        {
           foreach($a as $key => $item)
           {
              $data[$key]['tutorial_overview'] = $item;
           }
         }
        print_r($data)
    }
}

相关问题