3

我有一个<输入>使用Bootstrap typeahead with Angular UI directive。 在下拉菜单中显示和选择值的工作正常。AngularUI typeahead插件是否允许任何类型的值?

但是,当我输入的值不是下拉选项之一的输入时,该值不会绑定到模型属性。然而,我输入的内容仍然保留在输入中,就像它是有效的输入一样。

在下面的例子中,当我输入的文本不是autocomplete.referrers数组中的一个选项时,那么这个文本不会被绑定到registration.referrer。

我是否正确配置了输入?

<input type="text" 
    name="referrer" 
    ng-model="registration.referrer" 
    autocomplete="off" 
    typeahead="referrer for referrer in autocomplete.referrers | filter:$viewValue" 
    /> 

也许对随机文本输入的限制是通过设计?

非常感谢,如果你能回答这个问题。

+0

这是最方式自动完成的的行为方式。请参阅jqueryUI,引导程序等。如果'registration.referrer'为空,可以创建blur指令(如果需要清除字段)。这里有一个指令启动器:[demo](http://plnkr.co/edit/H9Fg7OktwZy1lqEH3oPk?p=preview) – charlietfl 2013-03-24 16:24:08

回答

1

@reggoodwin这是设计的预输入指令的当前版本: https://github.com/angular-ui/bootstrap/blob/929a46faa3a3eea3dec7ae8c1387f332eee9a9bc/src/typeahead/typeahead.js#L110

这种行为背后的理由是,从自动完成值应作为参考值行事。但是我正在琢磨这种行为,它可以做成可配置的。随时在https://github.com/angular-ui/bootstrap中打开一个问题来讨论更多。

+0

感谢pkozlowski.opensource的澄清。我会打开一个问题,因为可编辑的选择/连击/自动完成是有用的。 Ext JS组合框允许您默认编辑字段值,或者将editable属性设置为false以强制从下拉列表中进行选择。 – reggoodwin 2013-03-25 22:56:15

+0

创建的新问题,谢谢。 https://github.com/angular-ui/bootstrap/issues/269 – reggoodwin 2013-03-26 11:23:57

+0

太棒了,thnx @reggoodwin! – 2013-03-26 11:36:25

0

添加此指令属性为我工作:

<input typeahead-editable="false" > 
相关问题