我正在使用TextExt:http://textextjs.com/
这是我目前的代码:
$('#company').textext({
plugins : 'autocomplete filter ajax',
autocomplete : {
render : function (suggestion) {
var organization = suggestion.split('#');
return '<strong>' + organization[0] + '</strong><br />' + organization[1];
}
},
ajax : {
url : '/organizations.json',
dataType : 'json',
cacheResults : true
}
});
这是json输出的内容:
[ “组织#地址”]
它目前工作正常,但当用户点击建议时,文本框包含“组织#地址”。我的问题是,如何修改textext,这样当用户点击建议时,它只会将“组织”填入文本框,而不是整个json建议。
如果不清楚,我可以进一步解释。
由于
答案 0 :(得分:0)
不确定你是否还想要一个答案(考虑到九个月前提出的问题),但以下是基于我在类似情况下编写的一些代码的建议:
$('#company').textext({
plugins : 'autocomplete filter ajax',
autocomplete : ...as before
ajax : ... as before
// new bit
ext: {
selectFromDropdown: function() {
var self = this;
var suggestion = self.selectedSuggestionElement().data('text-suggestion');
var organization
if (suggestion) {
organization = suggestion.split('#');
self.val( self.itemManager().itemToString(organization[0]));
self.core().getFormData();
}
self.trigger('hideDropdown');
}
}
});
我没有测试过这个特定版本的代码,因此可能需要进行一些调整。
另一种选择可能是编写自己的ItemManager。