当前位置 : 主页 > 网页制作 > JQuery >

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

来源:互联网 收集:自由互联 发布时间:2021-06-15
在玩了一下jQuery的自动完成功能之后,我无法点击选择事件来点击.这很奇怪,因为当鼠标拖过列表中的每个元素时会触发onfocus事件.从我到目前为止所尝试的情况来看,看起来并没有内置的
在玩了一下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);
            }
        });
    }
网友评论