javascript 在下拉列表中输入3个字符后自动完成搜索

jgzswidk  于 2023-06-28  发布在  Java
关注(0)|答案(1)|浏览(89)

我有一个下拉列表,在搜索栏上注册3个字符后,我必须自动完成搜索。我想的是每次我在搜索栏上输入一个字符时注册,但我不能得到我放在搜索栏上的字符,所以我不知道如何做到这一点,因为我在下拉列表中有超过100万个项目,所以我想在输入3个字符时进行搜索,这样我就可以使搜索更有界。我正在使用MVC与C#,剃刀,js和选择的插件。(我是一个讲西班牙语和我的英语是一个进步的工作)

@Html.DropDownListFor(x => x.IdPersona, Enumerable.Empty<SelectListItem>(), "Seleccione...", new { @class = "form-control chosen-select", style = "width:100%", id = "nombrepersona"})
$('#nombrepersona_chosen').on("keyup", function () {
        inputText = $(this).val();
        console.log($(this).value);
        console.log("a");
        if (inputText.length >= 3) {
            // Realizar la búsqueda aquí
            console.log(inputText+"entro");
            RealizarBusqueda(inputText);
        }
 });
kmbjn2e3

kmbjn2e31#

你可以使用这个脚本在键入3个字符后开始搜索。

$("#searchInput").keyup(function () {
    var searchTerm = $(this).val();
    if (searchTerm.length >= 3) {
        $.ajax({
            url: "@Url.Action("AutocompleteSearch", "Home")",
            type: "GET",
            data: { searchTerm: searchTerm },
            success: function (data) {
                var dropdown = $("#searchResultsDropdown");
                dropdown.empty();
                if (data.length > 0) {
                    $.each(data, function (index, item) {
                        dropdown.append($('<option></option>').val(item.Id).text(item.Name));
                    });
                } else {
                    dropdown.append($('<option></option>').text("No results found"));
                }
            }
        });
    }
});

});
你可以参考这篇文章来获得完整的解决方案。:Autocomplete with MVC c#

相关问题