2011-03-26 5 views
0

텍스트 상자의 숫자 만 허용하도록 다음 jquery 코드를 작성했습니다.jquery 코드가 포스트 백 이후에 작동하지 않습니다.

$("[id$='txtPriority']").keydown(function (event) { 
       if (event.keyCode == 48) { 
        var value = $("[id$='txtPriority']").val(); 
        if (value == "") { 
         event.preventDefault(); 
         return; 
        } 
       } 
       else if (event.keyCode == 86 || event.keyCode == 118) { 
        event.preventDefault(); 
        return; 
       } 
       else { 
        $("[id$='txtPriority']").numeric(); 
       } 
}); 
}); 

페이지가 처음로드 될 때 제대로 작동합니다.하지만 코드를 다시 게시 한 후에 작동하지 않습니다. 이유가 무엇일 수 있습니다.

답변

3

아약스로 뭔가를 바꿀 예정이라면 이벤트가 작동하지 않습니다. 한번이 문제를 가지고 라이브 기능 (http://api.jquery.com/live/)

 
$("[id$='txtPriority']").live('keydown', function (event) { 
+0

: 당신은 컨트롤을 교체 한 후 이벤트 핸들러를 재설정하거나 나중에 추가 심지어 요소 작동합니다 .live() 핸들러를 사용해야합니다. – Tortoise

+0

감사합니다. danip, 제게 맞습니다. – Tortoise

0

를 사용해보십시오 내가 포스트 백에서 양식의 HTML을 대체 되었기 때문에이었다. 내가 두려워 나는 간단한 이벤트 처리 all.Its에서 Ajax를 사용하고 있지 않다

$("[id$='txtPriority']").live('keydown', function (event) { 
+0

작동합니다. 감사합니다. Jason – Tortoise

+0

당신은 동일한 답변을 제공했습니다. – danidacar

관련 문제