[英]How to use JavaScript search on the same page while the user is still typing?
[英]How do I find the value a user is search for while he is still typing?
JavaScript的:
var array = [
['shoe', 1],
['shirts', 2]
];
$('input#item').keyup(function()
{
var value = $(this).val();
$('#value').html('value from array');
});
HTML:
<input type="text" name="item" id="item" />
<br />
Value: <span id="value"></span>
我想查找用户仍在键入时要搜索的项目的值。
例:
a)用户键入s
,应该输出1
,因为它是数组中的第一个值。
b)当用户键入shi
,应该输出2
,因为它与shirts
匹配。
c)如果没有匹配,则不应输出no match
。
注意:如果可能,我想保留数组的结构。
$('input#item').keypress(function()
{
var value = $(this).val();
var result = 'no match';
for (var i = 0; i < array.length; i++) {
if (array[i][0].indexOf(value) != -1) {
result = array[i][1];
break;
}
}
$('#value').html(result);
});
为什么,只需遍历数组...
var array = [
['shoe', 1],
['shirts', 2]
];
function findValue(array, value) {
for (var i=0, ii=array.length; i<ii; i++)
if (array[i][0].substr(0, value.length) == value)
return array[i];
return false;
}
$('input#item').keyup(function()
{
var
value = $(this).val(),
match = findValue(array, value);
$('#value').html(match === false ? "no match" : match[1]);
});
没有测试过
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.