Автозаполнение, работающее с несколькими текстовыми полями с одним и тем же идентификатором.Jquery

Программирование на jquery
Ответить
Anonymous
 Автозаполнение, работающее с несколькими текстовыми полями с одним и тем же идентификатором.

Сообщение Anonymous »

Я делаю функцию автозаполнения. Когда я ввожу идентификатор пользователя. Другое текстовое поле должно получить имя. Например, `

Я набрал "4", тогда другое текстовое поле должно иметь значение
"hwoarang".

Моя текущая функция работает только для первого текстового поля. Это не динамично. Есть ли способ сделать это динамически? Я думаю, мне нужно автоматически увеличить свой идентификатор в контроллере, потому что в Ajax я просто вызываю идентификатор, который подходит только для 1 текстового поля.




userid
user
id




1
хвоаранг
4


2
Пол
5




Аякс:
$(document).ready(function(){

var list =$('#list').DataTable({ // This is for fetching my data
dom: 'lBfrtip',
buttons: [
'print', 'csv', 'copy', 'excel', 'pdfHtml5'
],columnDefs: [ {
targets: [0,1,2,3,4,5,6,7,8,9,10,11,12],
className: 'bolded'
}
],

"processing": false, //Feature control the processing indicator.
"serverSide": true, //Feature control DataTables' server-side processing mode.
"order": [], //Initial no order.
"paging":false,

// Load data for the table's content from an Ajax source
"ajax": {
"url": "",
"type": "POST",
"data": function ( data ) {

}

},

});

$(document).on('keyup', '#id', function(event){ // This is my autocomplete function
event.preventDefault();

var id= $('.id').val();

$.ajax({
url:"",
method:"GET",
data:{id:id},
dataType:"json",
success:function(data){
$('#id').val(data.id);
$('#user').val(data.user);

}
})

});

});

Контроллер
public function lists()
{

$list = $this->controller->fetching_function();
$data = array();
$no = $_POST['start'];

foreach ($list as $person1) {
$no++;

$row = array();
$row[] = '';
$row[] = ''; // If i type the id "4", then the textbox for name should be "hwoarang"
$data[] = $row;

}

$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->controller->count_all(),
"recordsFiltered" => $this->controller->count_filtered(),
"data" => $data,
);
//output to json format
echo json_encode($output);
}

function autocomplete(){
$output=array();
$id=$this->input->get('id');

$data = $this->model->getdetails($id);

foreach($data as $row){

$output['id'] = $row->id;
$output['user'] = $row->user;

}
echo json_encode($output);
}

Модель:
function getdetails($id){

$this->db->where('id',$id);
$query=$this->db->get('users');

return $query->result();

}


Подробнее здесь: https://stackoverflow.com/questions/713 ... he-same-id
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»