如何通过代码点火器中的ajax jQuery在下拉列表更改时获得2个或更多的输入值


$('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);
})
});
});

控制器部分

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'];
}

模型部件

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();
}

错误

遇到PHP错误

严重性:警告

消息:正在尝试访问类型为null 的值的数组偏移量

文件名:controllers/Emp_salary.php

线路编号:133

如何解决此问题?

我希望当下拉列表更改时,我会自动获得另一个输入值。

根据您的问题,我所理解的是您想要的,当Select下拉列表更改时,Codeigner中的jQuery ajax会自动获得2个或更多的输入值。

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"/>

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>

控制器部分:-

public function ajaxReq() {
$test = $this->input->post('test');
$value = $this->salary_model->getVal($test);
echo json_encode($value);
}

型号部分:-

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();
}

相关内容

  • 没有找到相关文章

最新更新