Как выбрать значение раскрывающегося списка на основе идентификатора таблицы tr или флажка в codeigniter

#php #ajax #codeigniter #select #jquery-easyui

Вопрос:

Я работаю над веб-приложением и застрял с опцией выпадающего списка в таблице или флажке. Теперь проблема в том, что я не могу понять, как выбрать единственное выбранное значение параметра в соответствии с таблицей tr table_id или флажком? Я могу получить доступ к значениям из базы данных, но не могу выбрать конкретное значение параметра в сообщении tr table_id для функции контроллера? В настоящее время функция jQuery выбирает все значения параметров строк вместе, в то время как я хочу выбрать один параметр. Мне нужна функция AJAX / jQuery, которая будет выбирать значение параметра, в частности, на основе идентификатора таблицы tr table_id или флажка. Как мне это сделать?

HTML

 <table
   id="tt"
   class="easyui-datagrid"
   url="<?php echo base_url()."contacts/contacts_list_data"; ?>"
   pagination="true"
   rownumbers="true"
   toolbar="#tb"
   pageSize="10"
   pageList="[5,10,20,50,100]"
   fit= "true"
   fitColumns= "true"
   nowrap= "true"
   view= "detailview"
   idField="id"
   >
   <thead>
      <tr>
         <th field="id"  checkbox="true"></th>
         <th field="status_type"  formatter='status_column'><?php echo $this->lang->line('Status'); ?></th>
         <th field="view" formatter='action_column'><?php echo $this->lang->line('Actions'); ?></th>
      </tr>
   </thead>
</table>

 <div id="status_column" style="display:none">

   <select name="stat_column" id="stat_column"  class="form_control stat_column">
        <option value="">Select Status</option>
        <option value='All'>All</option>
        <option value='Open'>Open</option>
        <option value='Closed'>Closed</option>
        <option value='Won'>Won</option>
        <option value='Lost Price is High'>Lost Price is High</option>
        <option value='Lost Not Enough Features'>Lost Not Enough Features</option>
        <option value='Lost Other'>Lost Other</option>
        <option value='Never Replied Back'>Never Replied Back</option>
        <option value='Bad Email'>Bad Email</option>
        <option value='Bad Number'>Bad Number</option>
        <option value='Do Not Disturb'>Do Not Disturb</option>
   </select>
</div>
 

Jquery

 <script>
function action_column(value,row,index)
{
    var str="";
    str=str "<a class='btn btn-outline-warning update_button ' table-id='" row.id "' 
    style='cursor:pointer'  title='" 'Update' "'>" ' <i class="fa fa-refresh"></i>' "</a> ";

    return str;
}

</script>

<script>
function status_column(value,row,index)
 {
    var inputVal = document.getElementById("status_column").innerHTML;
    return inputVal;
 }
</script>

<script>

 $(document.body).on('click', '.update_button ', function(event) {
    event.preventDefault();
    var table_id = $(this).attr("table-id");
    var row = $(this).closest('tr');
    var stateSelect = row.find('.stat_column'); 
    $.ajax({
        url: base_url 'contacts/get_status_dropdown_values',
        type: 'POST',
        data: {table_id: table_id},
        dataType: "json",
        success:function (data){
            var currrentstatus = data;

            $('#stat_column option[value="'   currrentstatus  
                '"]').attr('selected', 'selected');

           $(this).closest("tr").find('.stat_column option[value="'   currrentstatus  
                '"]').attr('selected', 'selected');

        }
    });
});

</script>    
 

Функция Контроллера

 function get_status_dropdown_values() {

    $table_id = $this->input->post("table_id",true);

    $this->db->select('status');
    $this->db->where("id",  $table_id );
    $this->db->limit(1);
    $queryuser = $this->db->get('contact');
    $data = $queryuser->row()->status;
    echo json_encode($data);
}
 

Функция Jquery

  //selecting all rows status dropdown value
 $('#stat_column option[value="'   currrentstatus  
            '"]').attr('selected', 'selected');
 
 //not selecting single row status dropdown value 
       $(this).closest("tr").find('.stat_column option[value="'   currrentstatus  
            '"]').attr('selected', 'selected');
 

Комментарии:

1. Попробуй : row.find('.stat_column option[value="' currrentstatus '"]').attr('selected', 'selected')