$('document').ready(function () { $('.js-example-basic-single').select2(); $('#empName').on('change', function() { var quan = $(this).val(); $.ajax({ url: '<?php echo base_url("index.php/emp_salary/ajaxReq"); ?>', type: 'post', data: {quan: quan}, }) .done(function(data) { //<---- we use .done here $('#empId').val(data); }) }); $('#empName').on('change', function() { var dept = $(this).val(); $.ajax({ url: '<?php echo base_url("index.php/emp_salary/ajaxDept"); ?>', type: 'post', data: {dept: dept}, }) .done(function(data) { $('#department').val(data); }) }); });parte del controlador
public function ajaxReq() { $quan = $this->input->post( 'quan' ); $value = $this->salary_model->getVal($quan); echo $value['empId']; } public function ajaxDept() { $dept = $this->input->post( 'dept' ); $value = $this->salary_model->getDept($dept); echo $value['department']; }pieza modelo
public function getVal($quan){ $this->db->select('*'); $this->db->from('employee'); $where = array('empId' => $quan ); $this->db->where($where); $query = $this->db->get(); return $query->row_array(); } public function getDept($dept){ $this->db->select('*'); $this->db->from('employee'); $where = array('department' => $dept ); $this->db->where($where); $query = $this->db->get(); return $query->row_array(); }Error
Se ha encontrado un error PHP
Gravedad: Advertencia
Mensaje: Intentando acceder al desplazamiento de la matriz en el valor de tipo nulo
Nombre de archivo: controladores/Emp_salary.php
Número de línea: 133
como puedo solucionar esto?
Espero que cuando cambie el menú desplegable, obtenga otro valor de entrada automáticamente.
De acuerdo con su pregunta, lo que entiendo es que desea, cuando los cambios en el menú desplegable Seleccionar obtienen 2 o más valores de entrada automáticamente mediante jQuery ajax en Codeigniter.
Parte HTML: -
<select name="test" id="test" > <option value="user1">user1</option> <option value="user2">user2</option> <option value="user3">user3</option> <option value="user4">user4</option> <option value="user5">user5</option> </select> <input type="text" placeholder="Address" id="address"/> <input type="text" placeholder="Name" id="name"/> <input type="text" placeholder="Contact" id="contact"/>Parte JQuery / Ajax: -
<script type="text/javascript"> $('#test').change(function(){ var test=$(this).val(); $.ajax({ type: "GET", url: '<?php echo base_url("index.php/emp_salary/ajaxReq"); ?>', data: {test:test}, success:function(data) { var result = $.parseJSON(data); $("#address").val(result.address); $("#name").val(result.name); $("#contact").val(result.contact); } }) }); </script>parte del controlador: -
public function ajaxReq() { $test = $this->input->post('test'); $value = $this->salary_model->getVal($test); echo json_encode($value); }Parte del modelo: -
public function getVal($test){ $this->db->select('*'); $this->db->from('employee'); $where = array('empId' => $test ); $this->db->where($where); $query = $this->db->get(); return $query->row_array(); }