2010-07-23 2 views
0

내가 만든 헤드 드롭 다운 목록 유형이 있습니다. 필자는 AutoPostBack을 false로 설정해야했습니다. 그렇지 않으면 사용자가 입력하는 동안 다시 게시되기 때문입니다. 그러나 나는 그가 선택을했을 때 뒤로 비명을 지르고 싶다.앞으로 타입 드롭 다운에 대한 클릭시 포스트 백

제출 버튼이나 그런 것을 사용하고 싶지 않습니다. 긴 이야기, 내 상황에 대한 해결책이 아니라는 걸 믿어.

사용을 클릭 할 때 앞의 타입을 입력하는 자바 스크립트에서 나는 다시 게시합니다. 그 일은 훌륭합니다.

그러나 사용자가 마우스로 언제 클릭할까요? 그래서 나는 onblur 이벤트를 포스트 백 (postback)에 사용한다. 그러나 드롭 다운 목록 바깥 쪽을 클릭해야합니다.

새 항목을 클릭 할 때 다시 게시를 원합니다. 그래서 itembacked,하지만 내가 그것을 클릭하여 변경 한 경우에만 다시 게시.

어떤 아이디어 ???

+0

아이디어가 없습니까? 난 여전히 솔루션을 찾고 있어요 ... – kralco626

+0

다시 블로킹을 위해 onblur를 사용하는 것은 위험합니다. 컨트롤에서 포커스를 잃는 원인으로 인해 포스트 백이 발생할 수 있습니다. – funkymushroom

+0

예. 나는 ddl을 클릭 한 다음 다시 클릭하면 다시 게시 될 것이기 때문에 동의합니다. 그러나 이것이 유쾌하지는 않지만 웹 애플리케이션에 악영향을 끼치 지 않고 selectionChanged를 사용하여 박동하기 때문에 이전에 타입이 작동하지 않기 때문에. 하지만 나는 다른 제안들에 대해 모두 공개적으로 ...? – kralco626

답변

0

당신이 앞서 유형의 최신 버전으로까지 사용하여 제공하는 라이브러리가 실제로

here. 콜백을 실행하는 데 사용할 수있는 콜백 함수의 세트와 함께 제공, 당신이 초기화 바인드 방법을 통해 그것을에서 통과 앞서 입력하십시오. 예제 코드 :

 // attach type-ahead to class 
     $autoComplete.typeahead({ 
      hint: true, 
      highlight: true, 
      minLength: 1 
     }, { 
      displayKey: 'value', 
      source: substringMatcher($autoCompleteData) 
     }).bind("typeahead:selected", function (obj, datum, name) { 
      console.log(obj, datum, name); 
     }); 

끝에있는 .bind 메서드는 옵션에서 클릭하거나 옵션에서 반환 키를 누르면 실행됩니다. console.log 항목을 원하는대로 바꾸십시오. 예를 들어 제출 버튼을 클릭하면 트리거가 발생합니다.