请问如何实现combobox模糊匹配时默认选中第一个匹配项,回车直接输入该项?

combobox在进行模糊匹配时需要使用鼠标或者上下箭头按键来选择匹配项,然后点击鼠标或者回车输入选择项,请问如何才能实现在匹配时总是自动选择第一项,然后直接回车就可以输入?
比如这个例子,我输入“b”时,图片描述

匹配出来两项,现在直接回车不会有输入,怎么实现在匹配的过程中总是选择第一项从而避免使用鼠标或者键盘来选择,因为很多时候会匹配到只剩一项,这样就可以直接回车输入。
已尝试的解决方法是从网上找到的,能实现选中第一项

            selectedIndex: function (jq, index) {
                if (!index) {
                    index = 0;
                }
                $(jq).combobox({
                    onLoadSuccess: function () {
                        var opt = $(jq).combobox('options');
                        var data = $(jq).combobox('getData');

                        for (var i = 0; i < data.length; i++) {
                            if (i == index) {
                                $(jq).combobox('setValue', eval('data[index].' + opt.valueField));
                                break;
                            }
                        }
                    }
                });
            }
        });
$("#ProjName").combobox({
                .............
                }).combobox('selectedIndex', 0);

但这样只要输入一个字符就会自动把匹配项填上去,比如刚输入一个字符"b",就会把第一项填上去,没法继续匹配
图片描述
怎样可以在匹配的过程中不自动填上去,而是只选中第一项直到回车再填。

阅读 3.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进