3

AngularUIディレクティブでBootstraptypeaheadを使用する<input>があります。ドロップダウンでの値の表示と選択は正常に機能します。

ただし、ドロップダウンオプションの1つではない値を入力に入力すると、この値はモデルプロパティにバインドされません。それでも、私が入力したものは、有効な入力であるかのように入力に残ります。

以下の例では、autocomplete.referrers配列のオプションではないテキストを入力に入力すると、このテキストはregistration.referrerにバインドされません。

入力を正しく構成しましたか?

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

おそらく、ランダムなテキスト入力の制限は仕様によるものですか?

あなたがこれに答えることができればどうもありがとう。

4

2 に答える 2

1

@reggoodwinこれは、typeaheadディレクティブの現在のバージョンの設計によるものです: https ://github.com/angular-ui/bootstrap/blob/929a46faa3a3eea3dec7ae8c1387f332eee9a9bc/src/typeahead/typeahead.js#L110

この動作の背後にある理論的根拠は、オートコンプリートからの値が参照値として機能する必要があるということです。しかし、私はこの動作について少し考えていました。構成可能にすることができます。詳細については、 https://github.com/angular-ui/bootstrapで問題を開いてください。

于 2013-03-24T21:14:15.023 に答える
0

このディレクティブを属性として追加すると、うまくいきました。

<input typeahead-editable="false" >
于 2014-10-03T17:18:44.150 に答える