将输入与每个id进行比较并输出最接近的匹配值

时间:2015-11-02 21:19:32

标签: javascript jquery html

我正在我的网站上进行基本搜索。当您键入搜索时,它会自动将输入与文档中的每个元素ID进行比较。当它找到匹配时,它会滚动到匹配的元素。截至目前,仅当您输入确切的id(不包括区分大小写和空格)时,搜索才有效。 这是我的JQuery代码:

$('#search-box').focus(function() {
    $('#search-box').keyup(function () {
        var x = $('#search-box').val().replace(/\s+/g, '').toLowerCase();
            if ($("#" + x).length !== 0) {
                navbarHeight = $('#fixed-navbar').height();
                $('html, body').animate({scrollTop:$('#'+x).position().top - window.navbarHeight}, 500);
        }
    });
});

我想,我已尝试从.match()开始使用像List.js这样的插件。

有没有办法将输入的文本与id进行比较并输出第一个匹配的文本?容差修饰符很整洁但不是必需的。

1 个答案:

答案 0 :(得分:0)

我的解决方案:

public class GcmBroadcastReceiver extends WakefulBroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    ComponentName comp = new ComponentName(context.getPackageName(),XYZIntentService.class.getName());
    startWakefulService(context, (intent.setComponent(comp)));
    setResultCode(Activity.RESULT_OK);
 }
}

工作JSFiddle

(thx for help guys / s)

最后的想法:

我没有添加容差变量,但它很容易(与此IMO相比)。 此外,我可以添加以便仅从id的开头搜索统计数据(因为人们通常开始键入单词的开头),然后在名称的任何地方搜索"功能不起作用。

编辑:最后设法使其按照我要求的方式工作。代码几乎被重写和更新。