Вот мои набранные html и js коды:
HTML
<input id="student" name="student" required data-rule-validStudent="true" type="text" value="" class="form-control" />
Код TypeAhead:
скрипты раздела {
@Scripts.Render("~/bundles/jqueryval")
<script>
$(document).ready(function() {
var vm = {
bookIds: []
};
var students = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('firstName'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: '/api/students?query=%QUERY',
wildcard: '%QUERY'
}
});
$('#student').typeahead({
minLength: 2, //typeahead will query the server when user types atleast 3 letters
highlight: true, // the letters in the search result that match our query will be bold
},
{
name: 'students',
display: function (item) { return item.firstName + ' ' + item.middleName + ' ' + item.lastName + ' ' + '('+item.id+ ')' },
source: students.ttAdapter()
}).on("typeahead:select",
function(e, student) {
vm.studentId = student.id;
});
}
});
</script>
}
в основном, у меня есть поле ввода, которое должно отображать имя, отчество и фамилию. Typeahead выполняет автозаполнение только для имени. Он извлекает правильные записи, и зачем вводить имя, он предлагает мне полное имя. Однако, когда я продолжаю вводить отчество, автозаполнение не работает. Есть ли что-то, чего мне не хватает в моем коде?