自动完成jquery,Select事件无效

时间:2013-09-29 16:29:24

标签: c# jquery ajax asp.net-mvc-4

我想在自动完成时获取名称和ID列表。我在文本框中有按键事件,并调用了ajax post的funstion,我可以获得列表供选择。我想获得Id和Name。如果我在文本框中有绑定的名称,那么我应该在哪里保留ID,以便用户无法看到它,但是当我必须保存数据时我可以使用它。我可以使用隐藏字段,但如果自动完成的选择事件不起作用,如何将该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');
                        }
                    });
                }
            });
        });

1 个答案:

答案 0 :(得分:1)

将jQuery连接放在$(document).ready事件中:

$(document).ready(function () {
    $("#txt_Autocomplete").autocomplete({ ...
});