首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用“自动完成”未正确选择项目

使用“自动完成”未正确选择项目
EN

Stack Overflow用户
提问于 2016-04-13 21:56:29
回答 1查看 39关注 0票数 0

我在Jquery中有一个带有autoselect的textfield,当您键入三个字母时,您将从数据库中得到一个查询并显示一些数据。我需要从_renderItem方法中获得id属性,但是我没有正确地得到它。下面是我的代码:

代码语言:javascript
运行
复制
    $("#textField").autocomplete({
    minLength: 3,
    source: function(request, response) {
        var loadIdentities = "<?php echo $this->Html->url(array('controller' => 'Identities', 'action' => 'getIdentity')); ?>/" + Base64.encode(request.term);
        $.getJSON(loadIdentities, function(data) {
            response(data);
        });
    }
}).data("ui-autocomplete")._renderItem = function(ul, item) {        
     console.log(item.id);
     return $("<li>")           
        .append("<a>" + item.label + "</a>")
            .appendTo(ul);
};

在console.log(item.id)行中,我没有得到正确的值。当您用鼠标选择从“自动完成”列表中的元素进行选择时,当您单击“自动完成”列表中的元素时,没有正确地更新item.id,而所显示的值是为“自动完成”键入时所具有的值,则会发生这种情况。

例如,如果在文本字段中键入名称"John“,您将在autocomplete上得到两个选项: John和John。如果单击“”选项,您将获得"John“的item.id值,并且我希望有”“的id。

我该如何解决这个问题?

EN

Stack Overflow用户

回答已采纳

发布于 2016-04-25 21:50:06

我能够使用自动完成的select方法来解决这个问题:

代码语言:javascript
运行
复制
    select: function( event, ui ) {
            $("[name='elementName[0]']").val(ui.item.label);
            $("[name='elementID[0]']").val(ui.item.id);
            return false;
    }

我把它放在源之后,现在它起作用了。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36610318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档