2012-02-13 4 views
0

javascript 및 jquery를 사용하여 간단한 날짜 선택 도구를 만들었습니다. 날짜를 선택하면 입력 상자에 표시됩니다. 이 입력 상자는 javascript를 사용하여 변경 되었기 때문에 변경 이벤트가 발생하지 않았습니다. 이 행사를 시작하거나 관습을 만들 수있는 방법이 있습니까?값 변경 이벤트 시작

+0

jQuery UI의 것과 같은 datepicker 플러그인을 사용 했습니까, 아니면 직접 구현 했습니까? –

+0

onchange 이벤트를 시작해야합니다. "$ ("+ calName + "_date") .val (cal.actualdate + "."(cal.month + 1) + "."+ cal.year)을 사용하여 값을 변경하는 ur 코드 – Yorgo

+0

을 게시하십시오. ''$ ("#"+ calName + "_date") .change();'(Thx Kane Black)을 추가 한 후에 작동 중입니다. –

답변

2

실행 새로운 값을 할당 한 후이 코드 :

$('input').change(); 
+1

모든 입력보다 특정 입력에서 이벤트를 발생시키는 것이 더 좋을 것입니다. – SpaceBison

+0

고맙습니다. 효과가있었습니다. –

+0

@SpaceBison, 그것은 일반적인 대답 일뿐입니다. Uriel_SVK가 특정 입력 필드에 변경 이벤트를 할당하는 방법을 알고 있다고 가정했습니다. –

0
$("input#yourInputId").change(); 

또는

$("input#yourInputId").trigger("change"); 

트릭을 할해야합니다.

  • 잠재적 브라우저 부정 또는 변경 이벤트에 대한 지원의 부족주의 텍스트 상자에 대한 귀하의 HTML의 ID="abc" 부분을 나타내는 ID로 #yourInputId 교체 - 동작은 특히 이전 버전의 브라우저에서 다를 수 있습니다.
+0

jQuery는 IE6의 변경 동작을 정상화합니다.> – OptimusCrime

1

.change는 jquery의 .on 함수를 가리키고 있으므로 .on을 직접 사용하는 것이 좋습니다.

$('#inputID').on('change', function() { 
}); 
0

변경 및 입력 이벤트가 있습니다. 입력이 변경되고 포커스를 잃은 후 첫 번째가 실행됩니다. 후자는 입력이 변경되면 즉시 시작됩니다. 그러나 프로그래밍 방식으로 입력을 변경 한 후에 발생하는 이벤트는 없습니다.

입력을 변경하는 코드를 제어 할 수 있다면 다른 답변에서 설명한 것처럼 수동으로 이벤트를 트리거 할 수 있습니다.