0

간단한 질문이지만 ENTER를 누르면 드롭 다운 결과의 첫 번째 항목을 선택한 항목으로 유지할 수 있습니까?각도 UI- 부트 스트랩 Typeahead : Enter 키를 선택한 경우 상단 항목 허용

이 예는 "PC0"의 사용자 유형이고 첫 번째 옵션으로 "PC001"이 표시되어 있습니다. ENTER를 눌렀을 때 typeahead-on-select 옵션에서 "PC001"을 사용할 수 있습니까?

나는 현재 typeahead-on-select을 사용하여 id를 통해 입력을 호출하고 함수에서 사용할 값을 가져 오는 함수를 실행합니다. 선택한 값 대신 텍스트 상자에 입력 한 내용을 ENTER 또는 Click에서 사용하는 것으로 보입니다.

는 HTML 다음getApplicationValue()에 대한

<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"> 

JS는 다음과 같습니다

$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

이것이 정확히 내가 생각하는 것 같지 않습니다. 나는 타입 업 헤드 - 온 - 셀렉트 (typeahead-on-select) 또는 유사한 호출에서 선택 박스에 타이핑 된 것 대신에 선택된 값을 획득하는 방법을 찾고있다. 나는 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; 
    }