Три вещи:
- Вам необходимо добавить прослушиватель событий к первому входу в постоянно проверять , когда кто-то что-то вводит.
- Прежде чем выбирать элементы в DOM, убедитесь, что DOM готов.
- Вам вообще не нужно jQuery здесь. Как и большинство вещей, очень легко обойтись без jQuery.
const names = [ "Jcob", "Pete", "Fin", "John" ];
document.addEventListener('DOMContentLoaded', function() {
const fname = document.getElementById('fname');
const lname = document.getElementById('lname');
fname.addEventListener('input', function(event) {
lname.value = names.includes(fname.value) ? 'Bob' : '';
});
});
<input type="text" id="fname" name="fname">
<input type="text" id="lname" name="lname">
Если вы настаиваете на jQuery (что я настоятельно рекомендую вам не делать, пока вы не разбираетесь в нативном API DOM):
const names = [ "Jcob", "Pete", "Fin", "John" ];
$(document).ready(function() {
const $fname = $('#fname');
const $lname = $('#lname');
$fname.on('input', function(event) {
if ($.inArray($fname.val(), names) > -1) {
$lname.val('Bob');
} else {
$lname.val('');
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="fname" name="fname">
<input type="text" id="lname" name="lname">