Avnish Tiwary
Avnish Tiwary

Reputation: 2276

CodeIgniter - Create dynamic html table using form helper functions?

I've a dynamic table which adds more rows. Here is my table.

<table> 
  <thead>
    <tr class="success">
     <th>Bank/Lender</th>
     <th>Add More</th>
    </tr>
  </thead>
  <tbody >
   <tr>
    <td>
     <?php
       $data = array(
              'name' => 'debt_info_bank_name[]',
              'id' => '',
              'class' => 'form-control',
              'placeholder' => 'Bank/Lender Name'
              );
       echo form_input($data);
      ?>
    </td>
    <td>
     <input class="add btn btn-success btn-sm" type="button" value="Add More"  />
    </td>
  </tr>
</tbody>

And Here is my javascript part:

    $(document).on('click','.add',function(){ 
    $(this).val('Delete');
    $(this).attr('class','del btn btn-danger btn-sm');
    var appendTxt = '<tr><td><?php  $data = array(
                                    'name' => 'debt_info_bank_name[]',
                                    'id' => '',
                                    'class' => 'form-control',
                                    'placeholder' => 'Bank / Lender Name'
                                  );
                                  echo json_encode(form_input($data)); ?></td><td><input class="add btn btn-success btn-sm" type="button" value="Add More"  /></td></tr>';
    $("#dyn_table > tbody > tr:last").after(appendTxt);
    });

    $(document).on('click','.del',function(){ 
        $(this).parent().parent().remove();

    });

It adds rows but with quotes"" in each td element. How can i correct it?

Note: If i add fields in javascript code using html elements like

 var appendTxt = '<tr><td><input type="text" placeholder="Bank/Lender Name"  /></td> <td><input class="add btn btn-success btn-sm" type="button" value="Add More" /></td></tr>';

then it goes fine but i want to add fields in codeigniter style because it is more safe to do that.

Upvotes: 1

Views: 574

Answers (1)

Avnish tiwary
Avnish tiwary

Reputation: 87

remove json_encode from here. just echo

 echo form_input($data); ?></td><td><input class="add btn btn-success btn-sm" type="button" value="Add More"  /></td></tr>';

Upvotes: 1

Related Questions