$(document).ready(function () {
var names = ["nick", "nicky", "nickyy", "nick23", "nickfe09", "nickf9", "jim1", "jimbo2"];
$.each(names, function (index, value) {
$('<span>').html(value + '<br>').appendTo('#div');
});
$('#input').change(function (event) {
$('#div > span:contains("' + $('#input').val() + '")').css('background', 'red');
});
});
<div id="div"></div>
<input type="text" id="input">
再次问好stackoverflow!
我有一个包含用户名的字符串。我想将它们显示在一个表中(或者在这个例子中,只是一个列表),然后只显示它们中的10个(最终将在列表中有~200个名称)。当用户在输入字段中输入内容时,例如nic
,我希望它过滤其余内容并显示10个最匹配的用户名。
我已经尝试过上面的设置,但这并没有奏效。你能帮助我吗?
问候
答案 0 :(得分:3)
$(document).ready(function () {
var names = ["nick", "nicky", "nickyy", "nick23", "nickfe09", "nickf9", "jim1", "jimbo2"];
$.each(names, function (index, value) {
$('<span>').html(value + '<br>').appendTo('#div');
});
$('#input').on("change keyup", function (event) {
$('#div > span').css('background','');
$('#div > span:contains("' + $(this).val() + '")').css('background', 'red');
});
});
我所做的就是以下内容:
#input
之外,keyup
回复change
事件。spans
。input.val
更改为$(this).val()
。变量input
未定义。希望这有帮助!