【问题标题】:Jqueryui autocomplete, get selected user idJqueryui自动完成,获取选定的用户ID
【发布时间】:2017-10-11 05:56:02
【问题描述】:

我是 jquery ui 自动完成的新手。我基本上使用带有 ajax 的自动完成功能,使用 PHP 来获取用户列表。

autocompleteajax.js

$(function() {
    $( "#ranksearch" ).autocomplete({
        source: function( request, response ) {
            console.log('in');
            $.ajax({
                url: "autocompleteajax.php",
                dataType: "json",
                data: {
                    q: request.term
                },
                success: function( data ) {
                    console.log(request);
                    console.log(data);
                    response(data);
                }
            });
        },
    });
});

php 返回的 JSON 看起来像这样

{3: "Tomek To", 4: "Tomek Kula"}

数字是用户ID,字符串是名字姓氏。在有人从自动完成列表中选择它之后,我想将选定的用户 ID 存储在某处。有什么简单的方法可以实现吗?

【问题讨论】:

标签: javascript php jquery jquery-ui autocomplete


【解决方案1】:

感谢@Dev.Joel 的帮助,我找到了解决方案。

在 php 中我存储了这样的用户

$users[] = array('value'=>$uid,'label'=>$uname);

然后我通过这样做得到了js中的值

    $(document).ready(function () {
    $('#ranksearch').on('autocompleteselect', function (e, ui) {
        e.preventDefault(); // prevent the "value" being written back after we've done our own changes

        this.label = ui.item.label;

        $('#ranksearch').val(this.label);
        console.log(ui.item.value);
    });
});

在我这样做的同时有些东西坏了,我不得不给自己分配标签来输入,因为它正在使用值。

【讨论】:

    猜你喜欢
    • 2012-03-29
    • 2018-07-07
    • 2013-08-04
    • 2014-09-12
    • 2014-07-04
    • 2016-03-22
    • 1970-01-01
    • 2012-02-12
    相关资源
    最近更新 更多