1

我正在尝试在自动完成时获取名称和 ID 列表。我在文本框中有按键事件,并调用了 ajax 帖子的功能,我能够获得选择列表。我正在尝试获取 ID 和名称。如果我在文本框中绑定了名称,那么我应该在哪里保留 ID,以便用户看不到它,但我可以在必须保存数据时使用它。我可以使用隐藏字段,但是如果自动完成的 Select 事件不起作用,如何将该 ID 分配给隐藏字段 ID。另外,当从列表中选择另一个元素时,我需要更改隐藏字段值。请帮助我解决这个问题。谢谢你。

    function SearchClients() {

        }

        $(document).ready(function () {
            $("#txt_Autocomplete").autocomplete({
                source: function (request, response) {
                    $.ajax({
                        type: "POST",
                        contentType: "application/json; charset=utf-8",
                        url: "../PsychiatricEvaluation/SearchClients",
                        data: "{'searchtext':'" + document.getElementById('txt_Autocomplete').value + "'}",
                        dataType: "json",
                        success: function (data) {
                            response($.map(data.Data, function (item) {
                                return {
                                    label: item.Name,
                                    value: item.id
                                }
                            }));
                        },
                        select: function (event, ui) {
                            alert("hi");
                            //$("#txt_Autocomplete").val(ui.item.value);
                            $("#hdnPkClientId").val(ui.item.id);
                        },
                        change: function (e, ui) {
                            alert("changed!");
                        },
                        error: function (result) {
                            alert('Error');
                        }
                    });
                }
            });
        });
4

1 回答 1

1

将您的 jQuery 连接放入$(document).ready事件中:

$(document).ready(function () {
    $("#txt_Autocomplete").autocomplete({ ...
});
于 2013-09-30T12:20:04.090 回答