jquery 如何显示自动完成每个属性的结果在分隔行,而不是使用斜杠?

6ojccjat  于 2023-10-17  发布在  jQuery
关注(0)|答案(1)|浏览(67)

我使用ASP.NET Web API。当我使用jQuery Ajax请求调用Web API时,我遇到了一个问题。
我的问题是自动完成结果显示由斜线分隔:

Id - Name - Designation

但我需要得到的预期结果是:

Id : 121
Name : michel nicol
Designation : It Manager

这意味着我需要在第一行显示Id,在第二行显示Name,第三行显示Designation
因此,每个属性都将在一行上,而不是使用分隔的斜杠。
完整代码详细信息:

$("#txtDirectManagerId").autocomplete({
        source: function (request, response) {
            var searchTextDirectManager = $("#txtDirectManagerId").val();
            console.log("search text" + searchTextDirectManager)
            $.ajax({
                url: '@Url.Action("GetAllEmployeeBasedSearchTextDirectManager", "Resignation")',
                data: { searchTextDirectManager: searchTextDirectManager },
                method: "GET",
                dataType: "json",
                success: function (data) {
                    response($.map(data, function (item) {
                        label: "File No : " + item.EmployeeID + " - " + "Name :" + item.EmployeeName + " - " +
                               "Designation : " + item.Designation, value: item.EmployeeID, employeeName: item.EmployeeName
                        };
                    }))
                }
            });
        },
        position: { my: "right top", at: "right bottom" },
        appendTo: '#searchContainerDirector',
        select: function (event, ui) {
            $("#DirectManagerName").val(ui.item.employeeName);
        },
        minLength: 4,
    });

用于自动完成的HTML控件:

<div class="col-md-7">
    @Html.EditorFor(model => model.LineManager, new { htmlAttributes = new { @class = "form-control", id = "txtLineManagerId" } })
    <div id="searchContainer">
    </div>
</div>
<div class="col-md-7">
</div>

用于生成自动完成的版本

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js" type="text/javascript"
        language="javascript"></script>

<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js" type="text/javascript"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script>

更新答案:
你能告诉我如何修改我的代码,以显示第一行和第二行名称和第三行Designation上的代码选择

kuhbmx9i

kuhbmx9i1#

我通过将/n添加到自动完成的每个功能结果来解决问题,并且它成功地工作了。
所以我在成功响应时将/n添加到name和Designation中

response($.map(data, function (item) {
    return {
        label: "Id: " + item.EmployeeID + "\nName: " + item.EmployeeName + "\nDesignation: " + item.Designation,
        value: item.EmployeeID,
        employeeName: item.EmployeeName,
        Designation: item.Designation
    };
}))

相关问题