2012-04-07 2 views
1

체크 상자를 클릭하면 다른 페이지로 리디렉션하고 싶습니다.jQuery에서 입력 값 얻기

꽤 간단하지만 두 번째 경고가 출력을 내지 않는 이유를 알 수 없습니까? Internet Explorer에 "개체가 메서드 val을 지원하지 않습니다."

this.getAttribute ('value')를 사용하면 작동합니다 - 왜 jquery val()에서 작동하지 않습니까?

답변

4

사용

alert(jQuery(this).val()); 
+0

일을 간단하게 포인트. whats the error – kommradHomer

+0

아, 네. 당연하지! 감사. – reggie

1

왜냐하면 jQuery 객체가 아니기 때문입니다. $ (this) .val();을 사용해야합니다.

0

변경 :

alert(this.val()); 

사람 :

alert($(this).val()); 

$(this) 당신이 후입니다 체크 박스 말합니다.


또한 간단하게 사용할 수 있습니다

this.value 

그래서 당신은 다음과 같이 코드를 수정할 수 있습니다

$(document).ready(function(){ 
    jQuery(".cbno").click(function(e){ 
     e.preventDefault(); 
     alert(this.value); 
     //window.location = this.value; 
    }); 
}); 
이벤트 기능에
0
$(document).ready(function(){ 
    jQuery(".cbno").click(function(e){ 
     e.preventDefault(); 
     alert('test'); 
     alert($(this).val()); 
//  window.location = $(this).val(); 
    }); 
}); 

이에 대한 링크입니다 DOM 요소이므로 jQuery 객체를 만들어야한다. 그들

2

$(this).val() 또는 $(this).attr("value") 또는 this.getAttriute("value") 또는 this.value 중 어떤

jQuery를 ($에 일치)와주십시오 작동합니다()는에

<script type="text/javascript"><!-- 
$(document).ready(function(){ 
    $(".cbno").click(function(e){ 
     e.preventDefault(); 
     window.location = $(this).val(); 
    }); 
}); 
//--> 
</script> 

<input type="checkbox" class="cbno" name="content" value="/map/?filter=all" />