微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

单击jQuery自动完成时触发select事件

在玩了一下jQuery的自动完成功能之后,我无法点击选择事件来点击.这很奇怪,因为当鼠标拖过列表中的每个元素时会触发onfocus事件.从我到目前为止所尝试的情况来看,看起来并没有内置的方法可以点击onclick选择事件.我错过了什么吗?或者,过去人们有另一种处理方式吗?

提前致谢,
布兰登

解决方法

所选事件应在单击时自动触发.请考虑以下代码块.在这里,我传递了一组处理程序,以决定使用什么URL,将自动完成行为附加到哪个标签等等.最终制作一个ajax请求来填充自动完成列表.

ActivateInputFieldSearch: function (callBack,fieldID,urlHandler,labelHandler,valueHandler) {
        $("#" + fieldID).autocomplete({
            source: function (request,response) {
                var requestUrl;
                if (_.isFunction(urlHandler)) {
                    requestUrl = urlHandler(request);
                } else {
                    requestUrl = urlHandler;
                }
                $.ajax({
                    url: requestUrl,dataType: "json",data: {
                        maxRows: 10,searchParameter: request.term
                    },success: function (data) {
                        response($.map(data,function (item) {
                            var dataJson = $.parseJSON(item);
                            return {
                                label: labelHandler(dataJson),value: valueHandler(dataJson),data: dataJson
                            };
                        }));
                    }
                });
            },minLength: 0,select: function (event,ui) {
                if (callBack) {
                    callBack(ui.item);
                }
            },open: function () {
                $(this).removeClass("ui-corner-all").addClass("ui-corner-top");
            },close: function () {
                $(this).removeClass("ui-corner-top").addClass("ui-corner-all");
            },focus: function (event,ui) {
                $("#" + fieldID).val(ui.item.value);
            }
        });
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐