2016-03-16 1 views
1

Вот мой код: Как получить текущее значение из цикла Еогеасп с помощью JQuery и CodeIgniter

<section class="panel"> 
 
    <header class="panel-heading"> 
 
     <a data-toggle="modal" data-target="#modal_edit" onclick="modal_edit('<?php echo base_url() ?>leave/save')" class="btn btn-default pull-right" href=""><i class="fa fa-calendar-minus-o"></i>&nbsp;Add Leave</a> 
 
     <!-- <a class="btn btn-default pull-right" href="<?php echo base_url() ?>leave/apply_leave"><i class="fa fa-calendar-minus-o"></i>&nbsp;Appsssly Leave</a> --> 
 
     <h2 class="panel-title">Employee Leave History</h2> 
 
    </header> 
 
    <div class="panel-body"> 
 
     <table class="table table-bordered table-striped mb-none" id="datatable-tabletools" data-swf-path="assets/vendor/jquery-datatables/extras/TableTools/swf/copy_csv_xls_pdf.swf"> 
 
      <thead> 
 
       <tr> 
 
        <th>#</th> 
 
        <th>Employee Name</th> 
 
        <th>Leave Type </th> 
 
        <th>Subject</th> 
 
        <th class="hidden-phone">From date - To date</th> 
 
        <th class="hidden-phone">Reason</th> 
 
        <th>Status</th> 
 
       </tr> 
 
      </thead> 
 
      <tbody> 
 
       <?php $count = 1 ?> 
 
       <?php foreach ($leave as $leave): ?> 
 
        <tr class="gradeX"> 
 
         <td><?php echo $count++ ?></td> 
 
         <td id="name"><?php echo $leave->first_name . ' ' . $leave->last_name ?> 
 
          <input type="button" id="employee_id" value="<?php echo $leave->employee_id ?>"/> 
 
         </td> 
 
         <td><?php echo $leave->name ?></td> 
 
         <td><?php echo $leave->subject ?></td> 
 
         <td><?php echo $leave->from_date . ' - ' . $leave->to_date ?></td> 
 
         <td><?php echo $leave->reason ?></td> 
 
         <td> 
 
          <select id="status" data-plugin-selectTwo class="form-control populate placeholder" > 
 
           <option value="Pending">Pending</option> 
 
           <option value="Granted">Granted</option> 
 
           <option value="Rejected">Rejected</option> 
 
          </select> 
 
    
 
         </td> 
 
        </tr> 
 
       <?php endforeach; ?> 
 
       <!-- //onchange="update_status('<?php echo base_url().'status/leave/'.$employee_id ?>')" onchange="myFunction();" --> 
 
       
 
      </tbody> 
 
     </table> 
 
    </div> 
 
    <div> 
 

 
    </div> 
 

 
</section>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
 
<script type="text/javascript"> 
 
    $("#status").ready(function() { 
 
     $(this).change(function() { 
 
      //var y =$('#status').val(); 
 
      //alert($('#status option:selected').val()); 
 
      //alert($("#status").select()); 
 
     // var x = $('#employee_id').val(); 
 
     // alert(this.x)  
 
     console.log(1); 
 
      $.ajax({ 
 
       url :'<?php echo base_url() ?>leave/status', 
 
       data : { 
 
         status : $(this).val(), 
 
         employee_id : $('#employee_id').val(), 
 
         // name : $('#name').val(), 
 
         }, 
 
       dataType: 'json', 
 
       success : function(response) { 
 
        alert(response); 
 
        
 
       } 
 
       
 
      }); 
 
     }); 
 

 
    }); 
 

 
</script>

У меня есть цикл Еогеасп и есть выпадающий список со значениями. Если у меня 4 петли, то я хочу обновлять листья только для 1-го цикла, значит id = 1, используя ajax, он отлично работает.

Теперь я хочу обновить разрешение для id = 2, но проблема в том, что jquery не получает значение id = 2, оно выбирает первое значение значения id id =1. сейчас я хотел бы обновить id = 2, чтобы обновить их отпуск.

+0

Что вы хотите сказать? –

+0

чувак, пожалуйста, я боюсь почти день. – Rakesh

+0

** ЧТО ТАКОЕ ВАШ ВОПРОС? ** «Я борюсь каждый день» не вопрос. Где ты застрял, что ты пробовал. –

ответ

0

Вы не можете использовать один и тот же идентификатор несколько раз. Первое изменение в вашем HTML

<?php foreach ($leave as $leave): ?> 
<tr class="gradeX"> 
    <td><?php echo $count++ ?></td> 
    <td id="name"><?php echo $leave->first_name . ' ' . $leave->last_name ?> 
     <input type="button" class="employee_id" value="<?php echo $leave->employee_id ?>"/> 
    </td> 
    <td><?php echo $leave->name ?></td> 
    <td><?php echo $leave->subject ?></td> 
    <td><?php echo $leave->from_date . ' - ' . $leave->to_date ?></td> 
    <td><?php echo $leave->reason ?></td> 
    <td> 
     <select id="<?php echo $leave->employee_id ?>" class="status" data-plugin-selectTwo class="form-control populate placeholder" > 
      <option value="Pending">Pending</option> 
      <option value="Granted">Granted</option> 
      <option value="Rejected">Rejected</option> 
     </select> 

    </td> 
</tr> 
<?php endforeach; ?> 

В Javascript:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $(".status").change(function() { 
      var employee_id = $(this).prop('id'); 
      var status = $(this).val(); 
      $.ajax({ 
       url :'<?php echo base_url() ?>leave/status', 
       data : {'status' : status, 'employee_id' : employee_id}, 
       dataType: 'json', 
       success : function(response) { 
        alert(response); 

       } 
      }); 
     }); 
    }); 

</script> 

Я надеюсь, что это решит вашу проблему.

+0

, который работает хорошо, но все же еще многое предстоит сделать. Я хочу динамически отображать значение в выпадающем цикле foreach. используя jquery любая мысль пожалуйста. – Rakesh

+0

@ Rakesh есть ли какая-нибудь ошибка.? – Yash

+0

динамически присваивает значение в выпадающем списке с помощью jquery. вы можете мой пост, где я взял