0

通常使用 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);

但对于整个表单来说,不仅仅是一个下拉菜单。

4

2 回答 2

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>
于 2012-07-19T09:10:28.917 回答
0

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

脚本中的部分

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

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

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

抱歉,如果我不清楚,但感谢您抽出时间和麻烦来回答我。

于 2012-07-20T06:22:36.423 回答