我有以下功能:
$(document).ready(function() {
$("#dSuggest").keypress(function() {
var dInput = $('input:text[name=dSuggest]').val();
console.log(dInput);
$(".dDimension:contains('" + dInput + "')").css("display","block");
});
});
出于某种原因,对于第一次按键,我在控制台日志中得到了一个空字符串。
最佳答案
这是因为在将新字符添加到元素的keypress
之前会触发value
事件(因此,在添加第一个字符之前会触发第一个keypress
事件,而value
仍然为空)。您应该改用keyup
,在添加字符后将其触发。
请注意,如果您的元素#dSuggest
与input:text[name=dSuggest]
相同,则可以大大简化此代码(如果不是,则使一个元素的名称与另一个元素的id
相同不是一个好主意)。
$('#dSuggest').keypress(function() {
var dInput = this.value;
console.log(dInput);
$(".dDimension:contains('" + dInput + "')").css("display","block");
});
关于jquery - jQuery在按键后获取输入值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8795283/