小编san*_*eep的帖子

如何延迟select-2,以便在用户输入数据后等待一段时间

我知道上面的事情可以通过在AJAX调用中使用quietMillis来实现,但我使用查询来缓存数据.在这里,我无法延迟AJAX呼叫.下面是代码

$('#AssetType').select2({
    cacheDataSource: [],
    placeholder: ' ',
    quietMillis: 3000,
    query: function q(query) {
        self = this;
        var key = query.term;
        var cacheData = self.cacheDataSource[key];
        if (cacheData) {
            query.callback({
                results: $.map(cacheData, function (item) {
                    return {
                        text: item.LongDescription,
                        id: item.AssetTypeID
                    }
                })
            });
            return;
        }
        else {
            $.ajax({
                url: 'http://localhost:52377/api/reference/asset/types/' + key,
                dataType: 'json',
                type: 'GET',
                quietMillis: 3000,
                //data: function (query) {
                //    return { assetType: query.term, };
                //},
                success: function (data) {
                    self.cacheDataSource[key] = data;
                    query.callback({
                        results: $.map(data, function (item) …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-select2

7
推荐指数
2
解决办法
5242
查看次数

标签 统计

javascript ×1

jquery ×1

jquery-select2 ×1