Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript mdb_自动完成下拉列表在单击事件时不关闭_Javascript_Typescript_Dropdown - Fatal编程技术网

Javascript mdb_自动完成下拉列表在单击事件时不关闭

Javascript mdb_自动完成下拉列表在单击事件时不关闭,javascript,typescript,dropdown,Javascript,Typescript,Dropdown,在某些情况下,通常在缓存了初始搜索中的值之后,我无法通过单击来关闭mdb_autocomplete下拉列表。我经常需要双击我的选择才能关闭它。我通过Ajax调用服务方法动态填充下拉列表中的值,该服务方法通过控制器操作方法在activedirectory中搜索前30个名称值。在用户向mdb_自动完成选择框中输入至少3个值之前,不会发生回调。下拉列表的回调和填充工作得很好,但是选择值之后的单击事件通常不会关闭下拉列表。此外,我们被迫在正常的引导库上使用mdb引导。我已经包含了用于生成和填充下拉列表的

在某些情况下,通常在缓存了初始搜索中的值之后,我无法通过单击来关闭mdb_autocomplete下拉列表。我经常需要双击我的选择才能关闭它。我通过Ajax调用服务方法动态填充下拉列表中的值,该服务方法通过控制器操作方法在activedirectory中搜索前30个名称值。在用户向mdb_自动完成选择框中输入至少3个值之前,不会发生回调。下拉列表的回调和填充工作得很好,但是选择值之后的单击事件通常不会关闭下拉列表。此外,我们被迫在正常的引导库上使用mdb引导。我已经包含了用于生成和填充下拉列表的视图、服务和类型脚本代码

视图:

        <div class="form-group">
            <label class="font-weight-bold" for="RequestorSearchInput">Requestor</label>
            <input type="text" id="RequestorSearchInput" name="RequestorSearchInput" class="form-control mdb-autocomplete" />
            <span id="loading_data_icon"></span>
        </div> 
    public List<string> GetRequestor(string aRequestor)
    {
        IEnumerable<Dictionary<string, string>> requestorNames;
        using (ActiveDirectoryService service = new ActiveDirectoryService(<LDAP Domain Name>))
        {
            string[] propertiesToLoad = new string[] { "displayName" };
            //requestorNames = service.SearchByPartialUsername(aRequestor, propertiesToLoad).Take(30).Union(service.SearchBySurname(aRequestor, propertiesToLoad).Take(30));
            requestorNames = service.SearchBySurname(aRequestor, propertiesToLoad).Take(30);
        }
        return requestorNames.SelectMany(x => x.Values).Where(y => y.IndexOf(",", StringComparison.Ordinal) >= 0).Distinct().ToList();
    }
private handleRequestorSearch() {
    let options: string[] = new Array();

    // @ts-ignore
    let searchval = $("#RequestorSearchInput").val().length;

    if (searchval >= 3) {
        $.ajax({
            url: main.getControllerHREF("GetRequestor", "Search"),
            method: "POST",
            data: {
                requestor: $("#RequestorSearchInput").val()
            },
            async: false,
            dataType: "json",
            success: function (names) {

                $.each(names, function () {
                    options.push(this);
                });

                // @ts-ignore
                $("#RequestorSearchInput").mdb_autocomplete({
                    data: options
                }).select(function () {
                    $("#RequestorSearchInput").focus;
                });

            }
        });
    }
}