表单编辑模式ajax

时间:2016-10-13 09:12:39

标签: javascript ajax codeigniter

我有表单编辑模式ajax的问题​​,编辑表单可以弹出但数据仍然是empty.code像这样, 我的控制员:

public function edit()
	{
		$id=$this->uri->segment(3);
		
		
		$data=array(
		'project' => $this->m_inputactivity->get_project(),
		'actype' => $this->m_inputactivity->get_actype(),
		'detail' => $this->m_inputactivity->per_id($id),
		'
		);
		
		
		$this->output
                ->set_content_type('application/json')
                ->set_output(json_encode($data));
	}

我的观点:

<script type="text/javascript">
function edit(id)
{
   
    $.ajax({
        url : "<?php echo site_url('input_activity/edit/')?>/" + id,
        type: "GET",
        dataType: "JSON",
        success: function(data)
        {

           
			
            $("[name='actype']").val(data.actype);
            $("[name='activity_name']").val(data.activity_name);
			$("[name='project']").val(data.project);
            $("[name='portion']").val(data.portion);
            $('#modal_form').modal('show'); // show bootstrap modal when complete loaded
            

        },
        error: function (jqXHR, textStatus, errorThrown)
        {
            alert('Error get data from ajax');
        }
    });
}

function reload_table()
{
    table.ajax.reload(null,false); //reload datatable ajax 
}
</script>
<a href="javascript:void(0)" title="Edit" onclick="edit('<?php echo $row->activity_detail_id;?>')"  class="btn btn-outline btn-circle btn-sm purple" >
<i class="fa fa-edit"></i> Edit </a>
我的模态观点:

<!-- begin pop update activity -->
<div class="modal fade left" id="modal_form"> 
<div class="modal-dialog"> 
<div class="modal-content"> 
<div class="modal-header"> 
<h3 class="pull-left no-margin">Edit Activity</h3>
<button type="button" class="close" data-dismiss="modal" title="Close"><span class="glyphicon glyphicon-remove"></span>
</button> 
</div> 
<div class="modal-body">
<form class="form-horizontal" role="form" method="post" action="<?php echo base_url(); ?>input_activity/update"> 
<div class="form-group"> 
<label for="name" class="col-sm-3 control-label">Kategori:</label> 
<div class="col-sm-9"> 
<?php $attributes = 'class = "form-control" id = "actype"';
echo form_dropdown('actype',$actype,set_value('actype',$detail[0]->activity_type),$attributes);?>
</div> 
</div> 
<div class="form-group"> 
<label for="activity" class="col-sm-3 control-label">Rincian Kegiatan: </label> 
<div class="col-sm-9"> 
<textarea class="form-control" rows="3" name="activity_name"  required><?php echo $detail[0]->activity_name;?></textarea>
</div> 
</div> 
<div class="form-group"> 
<label for="project" class="col-sm-3 control-label">Peruntukkan:</label> 
<div class="col-sm-9"> 
<?php $attributes = 'class = "form-control" id = "project"'; 
echo form_dropdown('project',$project,set_value('project',$detail[0]->project_id),$attributes);?>
</div> 
</div> 
<div class="form-group"> 
<label for="portion" class="col-sm-3 control-label">Bobot:</label> 
<div class="col-sm-4"> 
<input class="form-control" name="portion" value="<?php echo $detail[0]->portion;?>" required>
<input name="activity_detail_id" type="hidden" id="activity_detail_id" value="<?php echo $detail[0]->activity_detail_id;?>">
</div> 
</div> 
<div class="form-group"> 
<div class="col-md-offset-3 col-md-5">
<button type="submit" class="btn green">
<i class="fa fa-save"></i> Update</button>
<button type="button" class="btn default" data-dismiss="modal">Cancel</button>
</div>
</div> 
</form>
</div>
<div class="modal-footer"> 
</div> 
</div> 
</div> 
</div>

当我点击编辑按钮弹出数据仍为空时我有问题

enter image description here

如何正确创建模态ajax?

1 个答案:

答案 0 :(得分:0)

假设控制器实际上正在返回正确的数据,问题可能是表单输入的选择器。

尝试使用这些选择器来设置值。

$("input[name='actype']").val(data.actype);
$("input[name='activity_name']").val(data.activity_name);
$("input[name='project']").val(data.project);
$("input[name='portion']").val(data.portion);

您不显示视图html。但是假设模态html位于包含您显示的javascript的同一文件中。真?