Требуется отобразить все данные конфигурации конфигурации из базы данных для выбранного имени клиента.
У меня есть окно поиска (customer_name), когда пользователь ищет и выбирает конкретное имя клиента, необходимо отобразить все данные конфигурации этого клиента в поле подтверждения . Кроме отображения данных конфигурации в окне подтверждения, все остальное работает нормально.
Получение неопределенного значения в окне подтверждения для ui.item.config.
I необходимо инициировать второй ajax вызов (cust_config_list), когда пользователь выбирает любой из результат поиска . К вашему сведению, в базе данных будет несколько строк с именем клиента.
Я новичок в jQuery, любая помощь приветствуется.
Просмотр:
<input type="text" required id="customer_name" name="customer_name" class="form-control">
$( "#customer_name" ).autocomplete({
source: function( request, response ) {
// Fetch data
$.ajax({
url: "<?=base_url()?>index.php/Inquiry/userList",
type: 'post',
dataType: "json",
async: true,
data: {
search: request.term
},
success: function( data ) {
response( data );
}
});
$.ajax({
url: "<?=base_url()?>index.php/Inquiry/cust_config_list",
type: 'post',
dataType: "json",
async: true,
data: {
search: request.term
},
success: function( data ) {
response( data );
}
});
},
select: function (event, ui) {
// Set selection
$('#customer_name').val(ui.item.label); // display the selected text
confirmDialog('Confirm', '<b>Below are the configuration types for the selected customer</b><br><br>'+ui.item.config, function () {
});
return false;
}
});
Контроллер:
function __construct() {
parent::__construct();
$this->load->model('Inquiry_Model');
}
public function userList(){
$postData = $this->input->post();
$data = $this->InquiryForm_Model->getUsers($postData);
echo json_encode($data);
}
public function cust_config_list(){
$postData = $this->input->post();
$data = $this->InquiryForm_Model->getCustName($postData);
echo json_encode($data);
}
Модель:
function getUsers($postData){
$response = array();
if(isset($postData['search']) ){
$this->db->select('DISTINCT(customer_name)');
$this->db->where("customer_name like '%".$postData['search']."%' ");
$records = $this->db->get('inquiry')->result();
foreach($records as $row ){
$response[] = array("label"=>$row->customer_name);
}
}
return $response;
}
function getCustName($postData){
$response = array();
if(isset($postData['search']) ){
$this->db->select('customer_name,id,config');
$this->db->where("customer_name like '%".$postData['search']."%' ");
$records = $this->db->get('inquiry')->result();
foreach($records as $row ){
$response[] = array("config"=>$row->customer_name);
}
}
return $response;
}