2010-07-06 11 views
0

codeigniter를 사용 중이며 드롭 다운 양식을 선택하면 onchange가 작동하며 두 번째 필드는 ok (국가 -> 도시)입니다. 오류가있는 양식을 제출하면 오류가 표시된 페이지가 다시로드되지만 onchange는 작동을 멈 춥니 다. 무슨 일이 일어나고 있는지에 대한 아이디어가 있습니까? 흠, 여기 내가하는 일이 있습니다. 사용자가 홈페이지로 이동하여 양식을 채우면 onchange가 작동합니다. 그런 다음 사용자가 오류가있는 양식을 제출하고 유효성 검사를 확인한 다음 동일한 onchange 함수로 새 페이지 (레지스터)를로드합니다. 함수 이름 (getLocal)을 다른 이름으로 변경하려고 시도했지만 결과는 동일합니다. ("변화",이면 getlocal). 라이브 사용하려고 그 결과는 요 페이지를 다시로드하지만, AJAX와 요소를 다시로드이 arent 경우양식 유효성 검사 후 OnChange를 잃었습니다.


function getLocal(){ 
    $("#city").load("home/ajaxlocal", {country: $(this).val()}); 
    //alert($(this).val()); 

    return false; 
} 

.............. 

$js = 'id="country"'; 
    
    $(document).ready(function() { 
    $("#country select").bind("change", getLocal); 
     }); 
    
td echo form_label('Country :', $country); 
td id="country">echo form_dropdown('country', $country,$ct,$js); 
+0

다른 코드 스 니펫이있는 언어를 분명히하십시오. javascript에서 ci_php로 전환하는 것이 혼란 스러울 수 있습니다! – musoNic80

답변

1

, JQuery와 ... 등록 페이지에 아무런 발사, 동일 ready() 함수에서 지정하면 새 요소에 바인딩되지 않습니다.

$(document).ready(function() { 
    $("#country select").bind("change", getLocal); 
}); 

이 온로드 로딩 - .live 사용 (시도)

http://api.jquery.com/live/

이 방법은 요소 이벤트 핸들러를 부착하기위한 기본 .bind() 방법의 변형이다. .bind()가 호출되면 jQuery 객체가 참조하는 요소가 첨부 된 핸들러를 가져옵니다. 나중에 소개되는 요소는 그렇지 않으므로 또 다른 .bind() 호출이 필요합니다.

+0

이 소리가 나에게 들린다. – musoNic80

+0

흠, 여기 내가하고있는 일이 있습니다. 사용자가 홈페이지로 이동하여 양식을 채우면 onchange가 작동합니다. 그런 다음 사용자가 오류가있는 양식을 제출하고 유효성 검사를 확인한 다음 동일한 onchange 함수로 새 페이지 (레지스터)를로드합니다. 함수 이름 (getLocal)을 다른 이름으로 변경하려고 시도했지만 결과는 동일합니다. 라이브 ("change", getLocal)를 사용하려고했는데 결과가 동일하고 등록 페이지에 아무런 발사가 없었습니다 – JEagle

+0

홈페이지 및 등록 페이지에 대한 전체 코드와 ci 컨트롤러 및 jquery 스크립트를 게시 할 수 있습니까? 지금 당장 일어나는 일을 정확히 알기가 약간 어렵습니다 ... – musoNic80