我希望通过跟踪用户在选择结果之前输入的字符数来跟踪预先输入(以及我的内部评分算法)的效果。
.on(typeahead:selected, function(datum, ob){
// get the length of the input query
});
这是我想要的结果:
INPUT QUERY SELECTED RESULT
------------- -------------- ------
Michael Michael Jordan 7
Stack stackoverflow 5
Lar Larry Bird 3
答案 0 :(得分:0)
执行此操作的一种方法是修改typeahead.js中的_select方法。这是一种方式:
_select: function select(datum) {
//begin new code
datum.special = this.input.getQuery();
//end new code
this.input.setQuery(datum.value);
this.input.setInputValue(datum.value, true);
this._setLanguageDirection();
this.eventBus.trigger("selected", datum);
this.dropdown.close();
_.defer(_.bind(this.dropdown.empty, this.dropdown));
},
然后你可以在所选的事件中调用它:
.on(typeahead:selected, function(datum, obj){
console.log(obj.special.length);
});