0

TLDR : jsbin 링크의 조건에서 value()가 올바르게 응답하도록하려면 어떻게해야합니까? http://jsbin.com/pikoye/editKendo 콤보 상자 값이 Enter 키를 누를 때 올바르지 않음

저는 검도 UI의 ComboBox를 사용하고 있습니다. 누군가가 나를 도울 수 있기를 바랍니다. MRU 명령 목록을 표시하는 수단으로 콤보 상자를 사용하고 있습니다. 아래 설명 된 단계를 통해 사용자가 명령을 선택했지만 마음을 변경하거나 편집하면 결과 값()에 선택된 항목의 값이 계속 유지됩니다.

  1. 모든 텍스트를 선택 마우스
  2. 을 커서가 텍스트 상자의 텍스트 끝에 지금과 목록에서 항목을 선택
  3. 유형 '뭔가'하고 [입력]
  4. 경고에는 선택한 항목의 값이 표시되지만 '무언가'의 텍스트가 표시됩니다.

타이밍을 변경하려고 다른 키 누르기 이벤트를 시도했지만 그걸 가지고 다행이 없습니다. IE11, Chrome 및 Firefox에서 발생합니다. 나는 또한 KendoUI의 다른 버전을 시도했다. 우리는 사용자가 자신의 선택을 제출하기 위해 [enter] 키를 누를 수 있기를 원합니다. 내 솔루션은 현재 작동하는 text() 값을 사용하는 것입니다. 그러나 value()가 작동해야하는 것처럼 보입니다.

업데이트 : 내가 원하는 것은 Value()가 이전에 선택한 것의 인덱스 대신 'something'을 반환하는 것입니다. Text()를 인덱스의 텍스트 값과 비교할 수 있지만 불필요한 비교 인 것처럼 보입니다. 예상 한 값을 보려면 '사용자 정의'버튼을 클릭하십시오.

답변

0

난 당신 다행스럽게도 필자는 당신이 후입니다 무엇인지 이해 http://jsbin.com/vupagekizu/1/

이 jsbin에서 가능한 솔루션을 제공하고 있습니다.

기본적으로 선택한 항목의 인덱스가 -1보다 큰 항목 즉, 항목이 목록의 항목보다 큰지 확인하기 위해 콤보 상자에 Select 이벤트가 추가됩니다. 액세스 할 수있는 전역 변수에 저장하십시오. 항목의 모든 속성을 가져 오려면 선택한 항목과 연관된 dataItem을 선택했습니다.

var selectedValue = null; 


select: function(e) 
    { 
     if(e.item.index() > -1) 
     { 
      selectedValue = this.dataItem(e.item.index()); 
     alert(selectedValue); 
     } 
     else 
     { 
      //do nothing. 
     }   
    } 
+0

내가 찾던 내용이 아닙니다. 나는 그 질문을 명확하게 업데이트했다. 감사. –

관련 문제