Я пытаюсь заставить работать вместе плагин материализации css автозаполнения с моими результатами из базы данных для динамической загрузки данных в поле ввода.
Я могу передать текст в автозаполнение, но Я застрял в передаче другого параметра в функцию автозаполнения.
<script>
$(document).ready(function(){
var name = [];
var technicians = {!! $technicians->toJson() !!};
//Data I am getting from laravel Controller
console.log(technicians);
// [{"id":1,"first_name":"Technician","last_name":"last name"},{"id":2,"first_name":"saycure","last_name":"last name"}];
for (var i = 0; i < technicians.length; i++) {
name[(['id:'+technicians[i].id,technicians[i].first_name])] = 'null';
}
console.log(name);
// {id:1,Technician: "null", id:2,saycure: "null"}
$('input.autocomplete').autocomplete({
data : name,
minLength: 2,
});
});
</script>
Я пытаюсь передать данные в таком формате, чтобы автозаполнение присвоило значение соответствующему выбору
Html
<div class="row">
<div class="col s12">
<div class="row">
<div class="input-field col s12">
<i class="material-icons prefix">textsms</i>
<input type="text" id="autocomplete-input" class="autocomplete">
<label for="autocomplete-input">Autocomplete</label>
</div>
</div>
</div>
</div>
Редактировать Используя это решение на данный момент,
<script>
$('input.autocomplete').autocomplete({
data : name,
onAutocomplete: function(data) {
// alert(data);
var values = data.split(",");
console.log(values[0]);
$('#technician_id').val(values[0]);
},
minLength: 2,
});
</script>
- Добавлено скрытое поле ввода для хранения значения ,
Добавлен onAutocomplete для захвата значений.
На данный момент я могу назначить значение скрытому вводу. Но в автопоиске идентификатор виден, и я думаю, что это не очень хороший дизайн.