Це тому, що Keypress
подія запускається до додавання нового символу. Замість цього використовуйте подію "keyup", яка буде чудово працювати у вашій ситуації.
$(document).ready(function() {
$("#dSuggest").keyup(function() {
var dInput = $('input:text[name=dSuggest]').val();
console.log(dInput);
$(".dDimension:contains('" + dInput + "')").css("display","block");
});
});
Я хочу до цього додати, якщо у вас багато текстових полів і вам потрібно зробити те ж саме під час події їх клавіатури, ви можете просто дати їм загальний клас css (наприклад, commoncss) і застосувати подію клавіатури, як це.
$(document).ready(function() {
$(".commoncss").keyup(function() {
//your code
});
});
це значно зменшить код, оскільки вам не доведеться застосовувати подію клавіатури за id для кожного текстового поля.