我想点击一个复选框时重定向到另一个页面。
<script type="text/javascript"><!--
$(document).ready(function(){
jQuery(".cbno").click(function(e){
e.preventDefault();
alert('test');
alert(this.val());
// window.location = this.val();
});
});
//-->
</script>
<input type="checkbox" class="cbno" name="content" value="/map/?filter=all" />
很简单 - 但我想不出为什么第二次警报不产生任何输出? Internet Explorer中说:“对象不支持的方法VAL”。
它的工作原理,如果我用this.getAttribute(“值”) - 为什么它不与jQuery的VAL工作()?
使用
alert(jQuery(this).val());
任何$(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" />
因为这不是一个jQuery对象。 你需要使用$(本).VAL();
更改:
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;
});
});
$(document).ready(function(){
jQuery(".cbno").click(function(e){
e.preventDefault();
alert('test');
alert( $(this).val());
// window.location = $(this).val();
});
});
这事件的功能是DOM元素的链接,所以你应该创建它`方法把他们一个jQuery对象