2013-01-22 4 views
0

다음과 같이 주소 선택 도구를 사용하고 있습니다.jquery가 함수 바인딩을 실행 취소합니다.

HTML

<form> 
<input id="searchByLoc" type='checkbox' > 
<input id="searchQuery" type='text' > 
<input type="submit' value="search"> 
</form> 

JQuery와 :

$('#searchByLoc:checkbox ').live('change', function(){ 
    if($(this).is(':checked')){ 
     var addresspicker=$(this).addresspicker();//alert('checked'); 
    } else { 
     //I want to un initialize the addresspicker() on the input field 
     var addresspicker=die($(this).addresspicker());//alert('un-checked'); 
    } 
}); 

저는 위의 ELSE 부분 몇 가지 문제가 있어요. 이 확인란을 선택하지 않으면 초기화를 중지하여 위치가 제안되지 않도록하려면 어떻게합니까?

+1

내가 혼란 스러워요, 단지 다른 사람을 제거하지 않습니다 ? –

+0

음, 아니. bcz 입력 필드는 이름뿐만 아니라 위치를 검색하는 데 사용됩니다. 그래서, 위치에 대한 검색이 끝나고 이름 검색이 끝나면 위치 제안을하고 싶습니다. – aVC

+0

변경 이벤트의 바인딩을 해제하는 것이 당신이 원하는 것이라고 생각하지 않고, 체크 된 것이 든 그렇지 않은 것이 든 귀하의'adresspicker()'를 대신 처리하십시오 ... –

답변

2

jquery의 unbind() 함수를 사용하십시오. 이벤트를 제거합니다. jquery bind

가장 사용량이 게시물을 볼 수 있습니다

best way to remove events JQuery와 아래

1.7

$('#yourDomElement').unbind('click'); 

JQuery와 1.7+

$('#yourDomElement').off('click'); 
+0

jQuery 1.7+를 사용한다면'live()'/'unbind()'대신'on()'/'off()'를 사용하는 것이 좋다. –

+0

그는 무엇을 묶지 않을 것입니까? –

+0

무엇을 바인딩 해제해야합니까? 나는 addresspicker.unbind()를 시도했다. 작동하지 않음 – aVC

관련 문제