0

簡単な質問ですが、ENTERを押すと、ドロップダウンの最初のアイテムが選択されたアイテムになりますか?角度のあるUI-ブートストラップタイプオーバーヘッド:Enterキーを押したときに選択されたアイテムをそのまま受け入れる

この例は、「PC0」のユーザータイプで、最初のオプションとして「PC001」が表示されています。Enterキーを押したときにtypeahead-on-selectオプションで「PC001」を使用できますか?

私は現在、typeahead-on-selectを使用して、idを介して入力を呼び出し、関数で使用するValueを取得する関数を実行しています。選択した値の代わりにテキストボックスに入力されたものを、ENTERまたはClickのいずれかで使用しているようです。

HTML:

<input id="applicationComboBox" 
     type="text" 
     ng-model="applicationComboBox" 
     uib-typeahead="a as a.Value for a in applicationList | filter:$viewValue" 
     typeahead-on-select="getApplication()" 
     class="form-control"> 

JSgetApplicationValue()ため、次のようになります

$scope.getApplication = function() { 
    $scope.ApplicationValue = applicationComboBox.value; 
} 

問題がapplicationComboBox.valueでは、ユーザーがに入力した内容のテキストですクリック/ハイライトされた値の代わりにクリック/入力時の入力したがって、前の例では "PC0"は "PC001"ではなく値になります。

+0

私たちは、あなたがこのために使用しているコードを表示してください。 – jusopi

+0

私は自分の質問を編集して、私が使っているものを模倣した簡単なコードのサンプルを表示しました。 – Austin

答えて

0

ユーザが/ enterを選択すると、ng-model applicationComboxは自動的に更新されます。あなたが別の値$scope.ApplicationValueが選択後に更新されるようにしたい場合は、以下の

$scope.applicationCombox = ""; //your existing model. 
$scope.getApplication = function() { 
$scope.ApplicationValue = $scope.applicationCombox; 
} 

は、私たちは知ってみましょうか。

+0

私はこれがまさに私が探しているものだとは思わない。私は、前向き選択または同様の呼び出しで選択ボックスに入力されたものの代わりに、選択された値を取得する方法を探しています。 私はapplicationComboBoxの呼び出しとdocument.getElementById( 'applicationComboBox')の両方を試して、更新された値を取得しようとしていて、どちらもあらかじめ選択された値を返しています。 – Austin

+0

このプランナーをチェックして問題の近くにいるかどうか教えてください。 https://plnkr.co/edit/TlTmRNSlzMz1hWNuPXV5?p=preview。使い方を除いて、すべての設定が正しく行われているようです。 @Austin – Searching

+0

申し訳ありませんが、更新しないでくださいが、私のために働く解決策を見つけました。質問への回答として投稿します – Austin

0

私のために働く解決策を手に入れることができました。

HTML:

<input id="applicationComboBox" 
    type="text" 
    ng-model="applicationComboBox" 
    uib-typeahead="a as a.Value for a in applicationList | filter:$viewValue" 
    typeahead-on-select="onApplicationSelect($item, $model, $label, a)" 
    class="form-control"> 

JS:

$scope.onApplicationSelect = function (item, model, label, application) { 
     applicationComboBox.value= item.Value; 
    } 
関連する問題