2016-07-13 2 views
1

JQuery동적 페이지에 문제가 있습니다.AJAX 호출 후 jquery가 실행되지 않습니다

<select id="select"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
</select> 

및 텍스트 입력 : 나는 선택 입력 한

<input id="input" type="text" value="123456789"></input> 

를하고 난 내 스크립트에서 쓴 : 호출 아약스 전에 을하고있다

function changeLength(){ 
    var place = document.getElementById('input'); 
    var placeText = 0; 
    placeText = place.value; 
    if(placeText.length > 5){ 
     place.style.fontSize = "10px"; 
    } 
} 

$(body).on("change","#select",function(){//AJAX is called 
    changeLength(); 
}); 

$(document).ready(function(){ 
    changeLength(); 
}); 

기능 changeLength하지만, 이후는이 아닙니다.

+0

바닐라와 jquery를 혼합하는 이유는 무엇입니까? 특별한 이유가 있습니까? – guradio

+3

ajax 함수는 어디에 있습니까? –

+0

그것이 작동하는지 또는 작동하지 않는다고 말하는지를 설명해 주시겠습니까? 그리고 생략 한 코드를 공유 할 수 있습니까 ("AJAX가 호출 된 곳")? – smarx

답변

1

html로 입력이 삭제되고 아약스 요청 후 페이지에 재구성 선택하고 아약스가 완료된 후 다음과 같은 다른 호출을 수행하여 다시 핸들러를 등록해야하므로 일반적으로 그 :

$(body).on("change","#select",function(){//AJAX is called 
    changeLength(); 
}); 

Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "selectHandler", " $(body).on('change','#select',function(){//AJAX is called changeLength();});", true); 

당신이 아약스 요청을하고 HTML 페이지에서 입력을 선택 재구성 jQuery를 사용하는 경우 : 아약스 다시 게시가 완료된 후

예를 들어, ASP.net, 당신은 코드를 실행 RegisterStartupScriptBlock를 사용 너는 필요할거야 동일한 코드 블록을 다시 실행하는 등의 작업을 수행합니다.

관련 문제