2012-07-19 38 views
0

通常在PHP中進行編輯,點擊一個鏈接到一個單獨的PHP頁面,該頁面具有要編輯的條目的「ID」,您將獲得該ID並填充表單庫在這。CodeIgniter和模式表單(填充)

我想知道如何做到這一點,如果我使用模態形式?我如何讓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); 

而且對整個形式不只是一個下拉菜單。

+0

您可以創建一個僅包含表單元素的「部分」視圖。 – Gavin 2012-07-19 08:48:39

+0

你能否更具體地說明你的意思是部分觀點? – rax313 2012-07-20 00:25:57

+0

局部視圖,本質上是一個只包含表單和輸入的視圖。您現在所在的表單可以包含這個部分並使用Javascript/Ajax,您可以調用一個只返回部分表單的動作。然後你可以簡單地用現有的替換它。 – Gavin 2012-07-20 08:26:46

回答

0

我的$。員額()jQuery的快速閱讀,顯然,這是我的意思= P

部分上的腳本

ID = ''/ /在打開模式窗口時設置此項

是我被卡在如何閱讀的地方。

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

對不起,如果我不清楚,但感謝你在百忙之中回答我的時間和麻煩。

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> 
+0

是的,但你如何將該變量傳遞給php並填充表單? – rax313 2012-07-20 00:25:34

+0

我已經更新了代碼。請檢查..你可以在窗體參數中獲得id。如果您不希望將參數設置爲表單中某個隱藏字段的ID,而不是更新操作。 – Nish 2012-07-20 03:21:23