如果未找到结果,自动完成加载程序将继续旋转

时间:2014-05-23 11:52:46

标签: javascript jquery jquery-ui magento autocomplete

我正在使用jQuery UI在输入字段上执行自动完成 - 当我拥有可以匹配的有效数据时,它会按预期工作,但是如果它无法将搜索项与数据库中的某些内容匹配,则ajax微调器会继续旋转?

如果用户输入一个在x秒后无法匹配的术语,我将如何修改它,它将停止微调器&显示组织无法找到'在transformResult函数中?

// error in console.log
suggestions is undefined

自动完成的实际jQuery代码如下:

$('#org_search_term, #org_search_postcode').autocomplete({
        serviceUrl: '<?php echo $this->getUrl('rp/organisation/search', array('_secure' => true)) ?>',
        paramName:'term',
        minChars: 3,
        deferRequestBy: 500,
        dataType: 'json',
        onSearchStart: function(){
            $('#org_search_term, #org_search_postcode').addClass('loading');
        },
        onSearchComplete: function(){
            $('#org_search_term, #org_search_postcode').removeClass('loading');
        },
        onSearchError: function(){
            $('#org_search_term, #org_search_postcode').removeClass('loading');
        },
        onSelect: function(selected, data) {

        },
        transformResult: function (response) {

            var results = { suggestions:[] };

            if (!response.totalRecords)
                return false;

            $.each(response.items, function(i, item){
                results.suggestions.push({
                    value: item.organisation_name+', '+item.street+', '+item.town+', '+item.county+', '+item.postcode+', '+item.country,
                    data:  item.organisation_id,
                    organisation_name: item.organisation_name
                });
            });

            // add the catch all result
            results.suggestions.push({
                value: '<?php echo $this->__('My org is not listed') ?>',
                data: null,
                organisation_name: null
            });

            return results;
        }
    });

0 个答案:

没有答案