2013-10-28 12 views
2

Помогите мне пожалуйста. Я новичок в ajax. Я использую codeigniter. Я использую javascript modal (alert), чтобы показать, успешно ли я удалил данные.предупреждение об успешном обновлении с использованием ajax в codeigniter

вот мое мнение:

<script type="text/javascript"> 
    $(document).on("click", ".delete-data", function() { 
     var id = $(this).data('id'); 
     $("#id").val(id); 
    }); 
</script> 
<div class="down1"> 
    <button type="button" class="button-orange" onclick="add_child();" id="child_add">Add</button> 
</div> 
<div class="span11 offset1" id="childdv"> 
    <?php echo $child_set;?> <!--this one shows that table of children--> 
</div> 
the modal delete 
<!--delete--> 
      <div class="modal fade" id="delete" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-haspopup="true" aria-hidden="true"> 
       <div class="modal-dialog"> 
       <div class="modal-content"> 
        <div class="alert alert-danger fade in" id="alert"> 
         <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> 
         <h3>Heads Up!</h3> 
         <p>What you are doing will delete a data!</p> 
         <input type="hidden" name="id" id="id" value=""/> 
         <a onclick="delete_child();" id="okButton" class="btn btn-danger" data-dismiss="modal"> 
           Confirm Delete 
         </a> 
         <a href="#" class="btn" data-dismiss="modal"> 
           Cancel 
         </a> 
        </div> 
       </div> 
       </div> 
      </div> 

мой главный контроллер, который показывает

$data_set['record_set'] = $this->emp->get_children($id); 
$data['employee_header_menus'] = $this->load->view('employee_header_menus', NULL, TRUE); 
$data['employee_header_logout'] = $this->load->view('employee_header_logout', NULL, TRUE); 
$data['child_set'] = $this->load->view('swoosh_template/employee/child', $data_set, TRUE); //<--- you can see in here that the $child_set came from here. 
$data['info'] = $this->emp->get_myinfo($id); 
$data['msg'] = ""; 
$data['color'] = "green"; 
$data['header_logo'] = $this->load->view('header_logo', NULL, TRUE); 
$this->load->view('employee/personaldetails', $data); 

в настоящее время. где находится этот child_set. это точка зрения.

<?php if ($record_set !="") { ?> 
<table id="tblcount" class="table table-bordered"> 
<tr class="orange"> 
    <th>Name</th> 
    <th>Date of Birth</th> 
    <th>Dependent</th> 
    <th>Delete</th> 
</tr> 
<?php foreach ($record_set as $row): ?> 
<tr> 
    <td> 
     <?php echo $row[ 'name'];?> 
    </td> 
    <td> 
     <?php echo $row[ 'birth_date'];?> 
    </td> 
    <td> 
     <?php echo ($row[ 'dependent']=='1' ? 'Yes': 'No');?> 
    </td> 
    <td> 
     <img data-toggle="modal" data-id="<?php echo $row['id']?>" class="delete-data" href="#delete" style="cursor:pointer" height="15" width="15" src="<?php echo base_url(); ?>images/remove.gif"> 
    </td> 
</tr> 
<?php endforeach?> 
</table> 

вот мой Javascript, что вызывает модальность.

function delete_child() 
{ 
    var id = $("#id").val(); 
    if (id!=null){ 
     swoosh(id, path+'swoosh_employee/swoosh_delete_child', 'childdv'); //<-- this is the function that calls my controller 
     $('#success').modal('show'); // <-- this is the alert. 
    } 
} 

, но я не хочу ставить предупреждение. потому что я хочу сначала проверить, если моя функция в моем контроллере работает успешно. и настало время показать это предупреждение.

вот мой контроллер:

public function swoosh_delete_child() 
{ 
    $P1 = $this->session->userdata('id'); 
    parse_str($_SERVER['QUERY_STRING'],$_GET); 
    $id = $_GET['h']; 

    $this->emp->delete_children($id); // <-- in here , i want to validate this. if successful: alert success, else alert error 

    $set['record_set'] = $this->emp->get_children($P1); 
    $this->load->view('swoosh_template/employee/child',$set); 
} 

здесь модель:

public function delete_children($P1) 
{ 
    $this->db->delete('employee_children', array('ID' => $P1)); 
} 

в настоящее время. что я хочу сделать. «Аякс» .. что будет проверять, если функция выполняется успешно, или если я успешно удален, как:

if success{ 
    $('#success').modal('show'); 
} 
else{ 
    $('#error').modal('show'); 
} 

Я искал о том, как использовать Ajax. но я не могу это понять. Я просто новичок в программировании. В среднем.

+0

В чем разница между '$ P1' и' $ id'? и почему вы «get_children» после его удаления? –

+1

Функция get_children должна показать все строки. например, после удаления выбранной строки. я буду использовать get_children для отображения обновленной таблицы. $ P1 - это идентификатор сеанса для сотрудника для get_children, где id = $ P1 (который является идентификатором сотрудника), а $ id - например, 3 ребенка с разным $ id. (который вы удаляете из выбранного дочернего элемента ($ id) .. после удаления.Я должен его обновить, например get_children function, и результат будет оставлен двумя детьми. – Vincent

+0

oh, так что история - это «родитель, который удаляет своего ребенка», ?: D Я обновлю ответ. –

ответ

3

Попробуйте это:
UPDATE
модель:

public function delete_children($P1,$id) 
{ 
    $delete = $this->db->delete('employee_children', array('ID' => $P1,'child_id' => $id)); 
    if ($delete){ 
    return "success"; 
    } 
    else{ 
    return "failed"; 
    } 
} 

контроллер:

public function swoosh_delete_child() 
    { 
     $P1 = $P1 = $this->session->userdata('id'); // get the parent id 
     $id = $this->input->post('id'); // get child id 

     $delete = $this->emp->delete_children($P1,$id); // delete the child of current parent 
     if($delete == "success"){ 
     echo $delete; 
     } 
     else{ 
     echo $delete; 
     } 
    } 

Я имел обыкновение использовать этот Аякса:

function delete_child() 
{ 
    var id = $("#id").val(); 
    if (id!=null){ 

    $.ajax({ 
    url : "<?php echo base_url('swoosh_employee/swoosh_delete_child') ?>", 
    data : "id="+id, 
    type: "POST", 
    success : 
    function (data){ 
    if (data == "success"){ 
    alert("delete success"); 
    } 
    else{ 
    alert("delete failed"); 
    } 
    } 
    }); 
    } 
} 

ШГ ow дети этого родителя, вы можете построить еще один ajax.

+0

ОК. Я попробую это. :) спасибо за ответ. – Vincent

+0

, если '$ P1' является родителем, модель, которую я пишу выше, неверна. Извините ..: D –

+2

ответ был обновлен. модель была отремонтирована –

Смежные вопросы