我正在为我的项目使用angularui bootstrap typeahead模块。
我无法使用预定义值预先填充下拉列表 每当用户点击typeahead的输入文本时,它应该自动显示typeahead建议下拉列表(来自静态JSON)。
每当用户开始输入时,行为应该是正常的。
我尝试了this解决方案,但不幸的是,当我将angularjs升级到版本1.3时它停止了工作
答案 0 :(得分:0)
所以我基本上通过制作一个自定义指令并对ui bootstrap typeahead代码进行微小修改来实现这一点。你必须欺骗先行者,以为某人在其中输入了某些内容。我在场地的右侧放置了一个小的下拉箭头,所以基本上它看起来像一个下拉,点击该箭头将显示所有选择。你应该可以使用onfocus来做到这一点 基本上找到绑定到键事件的bootstrap typeahead中的代码,我更改它以检查40的keydown事件
if(scope.matches.length === 0 && evt.which === 40) { // Added
// COMMENT OUT modelCtrl.$setViewValue(modelCtrl.$viewValue);
modelCtrl.$setViewValue(''); // Added
}
您还需要确保将typeaheadMinLength设置为0.请注意,在上面的代码中,它会检查用户没有键入任何内容以及我触发的特殊keydown事件的情况。你应该能够改变它以触发onfocus。我将bootstrap typeahead复制到mytypeahead.js然后如上所述修改它,以及你可能需要或不需要的一些其他小mod,取决于字段是否“必需”。