CodeIgniter和模态表单(填充)

时间:2012-07-19 08:46:38

标签: php jquery codeigniter

通常使用PHP和编辑,您点击链接到一个单独的PHP页面,该页面具有您要编辑的条目的“ID”,您将获得ID并在此基础上填写表单。

如果我使用模态表格,我想知道怎么做?如何获取ID以获取与其关联的记录,然后填充模式表单。

有点像这样

//dropdown behavior for resp task and sub_task
$('#r_task_id').change(function() {
    var selected_task_id = $('#r_task_id').val();
    $.post("Assignment/populateSubTaskDropDown", { 'selected_task_id' : selected_task_id },//$_POST['selected_task_id']
             function(data){                
            $('#r_sub_task_id').empty();
            $.each(data, function(val, text) {
                $('#r_sub_task_id').append(
                    $('<option></option>').val(val).html(text)
                );
     });}, "json");

});//task

PHP代码是:

$this->session->set_userdata('selected_sub_task_id', $this->input->post('selected_sub_task_id'));
    $json_resp_user = $this->assignmentModel->getResponsibleUsers($this->session->userdata('selected_sub_task_id'));

    $json = array();
    $json[0] = "-Select-";

    if( count($json_resp_user) >= 1 ){ //if there is more in the result than the -Select-
        foreach($json_resp_user as $detail){
            //$json[$detail->user_id] = $detail->first_name." ".$detail->middle_name." ".$detail->last_name;
            $json[$detail->user_id] = $detail->first_name." ".$detail->last_name;
        }
    }
    echo json_encode($json);

但整个表格不仅仅是一个下拉列表。

2 个答案:

答案 0 :(得分:1)

当你打开模态窗口时,在公共javascript变量中设置记录的id,并在提交模态表单时通过url传递id参数。

另一种方法是在模态窗口中的窗体中有一个隐藏变量,并在打开模态窗口时设置它。因此,它将被传递给提交模态窗口的更新表单。

<script>
    id ='' //Set this when opening the modal window
    function appendId(myform)
    {
        myform.action = myform.action + "/" + id;
        return true;
    }
</script>
<div id='modalWindow'>
    <form onsubmit='return appendId(this)'>
        //other elements
    </form>
</div>

答案 1 :(得分:0)

我快速阅读了jQuery的$ .post(),显然这就是我的意思= p

脚本上的部分

  

id =''//打开模态窗口时设置此项

是我被困在如何阅读的地方。

http://api.jquery.com/jQuery.post/

对不起,如果我不清楚,但感谢你花时间和麻烦回答我。