나는이 질문을 여기에 넣는 것조차도 어리둥절 해하지만 아직 해결책을 찾지 못했다.OnChange 이벤트가 너무 빨리 드롭 다운/선택 입력에서 발생합니까?
아마도 이것은 onchange 이벤트가 작동하는 방식이지만, 너무 빨리 실행되는 것처럼 보일 수 있습니다 (또는 최종 선택시 다시 실행되어야 함). 내 화면의 일부를 새로 고치는 데 사용하는 선택/드롭 다운이 있지만 Chrome 및 IE9에서 사용자가 시작하자마자 onchange 이벤트가 호출되는 것을 발견했습니다 (마우스 선택과 함께 사용하면 좋음) - 나는 입력이 끝나지 않았더라도 새로운 선택이 만들어지기 때문에 이것이 합리적이라고 생각한다. 어쨌든 화면은 업데이트되지만 드롭 다운에서 사용자의 최종 선택 데이터는 표시되지 않습니다 (처음 히트/변경시 발생하는 것처럼 보이지만 사용자가 타이핑을 중지하고 최종 선택이 이루어지면 다시 실행되지 않습니다) .
나는 그것을 onblur로 바꿨지 만, 사용자가 선택을 마친 후에야 움직이기 때문에 onblur보다 빨리 발생하는 해결책을 찾고 싶지만 사용자의 최종 선택은 만든.
이는 MVC의 progject에서 aspx 페이지에 다음 JS가 전화를 작동
<asp:DropDownList ID="employeeDropdown" runat="server" onchange="RefreshCalendarData()" />
이것은 :
function RefreshCalendarData() {
// code omitted
Scheduler.Refresh();
}
은 JS 또는 jQuery를 사용하여 좋은 솔루션/해결 방법이 있습니까?
ASP.NET _use_ jQuery가 아닌가요? 또한, 나는 (크롬에서 적어도) 사용자의 마지막 드롭 다운 선택을 위해'change' 이벤트가 발생하지 않는이 문제를 보지 못합니다 : http://jsfiddle.net/mattball/Mx7TN/ –
@ MДΓΓLLLLLL - 시도했습니다. 이 jquery뿐만 아니라. 나는 아직도 그 문제를 경험했다. 귀하의 예와 함께 문제를 반복 할 수 없으므로 올바른 것으로 보입니다. 그러나 목록에는 약 150 개의 항목이 포함되어 있습니다. 그러나 동의하셔야합니다. 그러면 최종 선택이 이루어지면 시작해야합니다. 두 번째 시간이 시작되지만 새로 고침 프로세스가 오래 걸리므로 다시 호출되지 않습니다 (또는 여전히 실행 중이므로 호출이 무시됩니다). 도움을 주셔서 감사합니다. – Josh
아마도 가장 좋은 방법은 select 메뉴에 onchange를 사용하지 않고 select 옆에 작은 'Go'버튼을 두는 것입니다. IE는 마우스를 사용하지 않는 사용자 일 수있는 화살표 키를 사용하여 선택 탐색을 위해 onchange를 트리거합니다. – Gareth