使用jQuery Validation插件与twitter bloodhound发生冲突

时间:2014-04-19 07:17:21

标签: jquery bloodhound jquery-context

我正在使用twitter的Bloodhound建议引擎,以下是我正在使用的代码片段

// instantiate the bloodhound suggestion engine
    var searchData = new Bloodhound({
        datumTokenizer: function (d) {
            return Bloodhound.tokenizers.whitespace(d.value);
        },
        queryTokenizer: Bloodhound.tokenizers.whitespace,        
        remote: {
            url: 'http://localhost/address/fetch?q=%Query' //Local URL           
        }
    });
    // initialize the bloodhound suggestion engine
    searchData.initialize();
    // instantiate the typeahead UI
    $('.typeahead').typeahead({        
        hint:false,
        highlight: true,
        minLength: 3
        }, {
        name:'search-data',
        displayKey: 'title',
        source: searchData.ttAdapter(),       
        templates: {            
            suggestion: Handlebars.compile('<p><strong>{{title}}</strong></p>')            
        }        
    });

Ajax请求没有触发我在上面的代码片段中提到的内容,如果页面中没有包含jQuery Validation插件,那么它工作正常。

如何克服这个问题?

Upadate:

我已经将jQuery验证插件从1.7升级到最新版本(1.12)然后修复了这个问题,但我不知道这背后的原因是什么。如果有人知道确切原因,请发表答案。

1 个答案:

答案 0 :(得分:0)

在js脚本顶部输出他的代码

 jQuery.noConflict( true )
    //or
$.noConflict( true )