在自动填充上获取所选项目

时间:2014-01-03 15:39:14

标签: javascript jquery html json

对这个答案感到抱歉,我发现了很多结果,但是我的代码都有效。

我想获取所选项目并调用另一个函数来处理此问题。脚本是:

<script type="text/javascript">
        $(document).ready(function() {
            $("input#autoText").autocomplete({
                source: function(request, response) {
                    $.ajax({
                        url: "UserControllerServlet?action=Autocompletar",
                        dataType: "json",
                        data: request,
                        success: function(data, textStatus, jqXHR) {
                            console.log(data);
                            var items = data;
                            response(items);
                            alert($("#autoText").val(ui.item.id));

                        },
                        error: function(jqXHR, textStatus, errorThrown) {
                            console.log(textStatus);
                        }

                    });
                }

            });
        });


    </script>

警报不起作用,我尝试使用select和nothing。

THX。

2 个答案:

答案 0 :(得分:0)

使用select event

$(document).ready(function () {
    $("input#autoText").autocomplete({
        source: function (request, response) {
            $.ajax({
                url: "UserControllerServlet?action=Autocompletar",
                dataType: "json",
                data: request,
                success: function (data, textStatus, jqXHR) {
                    console.log(data);
                    var items = data;
                    response(items);
                    alert($("#autoText").val(ui.item.id));

                },
                error: function (jqXHR, textStatus, errorThrown) {
                    console.log(textStatus);
                }

            });
        },
        select: function (e, ui) {
            console.log('s', ui.item);
            //here ui.item will refer to the selected object
        }
    });
});

演示:Fiddle

答案 1 :(得分:0)

而不是

alert($("#autoText").val(ui.item.id));

使用

$("#autoText").data("autocomplete").selectedItem

这将允许您将所选项目作为对象访问。