Jqueryui自动完成,获取所选用户ID

时间:2017-10-11 05:56:02

标签: javascript php jquery jquery-ui autocomplete

我是jquery ui autocomplete的新手。我基本上使用带有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"}

数字是userid,字符串是Firstname Lastname。在有人从自动完成列表中选择后,我想将选定的用户ID存储在某处。有没有简单的方法来实现它?

1 个答案:

答案 0 :(得分:0)

感谢@ 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);
    });
});

有些事情被打破,同时我做了这个,我不得不给自己分配标签输入,因为它使用了价值。