2012-04-07 14 views
1

チェックボックスをクリックすると別のページにリダイレクトしたいです。jQueryの入力値を取得する

かなり簡単ですが、2番目のアラートが出力を生成しない理由はわかりません。 Internet Explorerに「オブジェクトはメソッドvalをサポートしていません」と表示されます。

this.getAttribute( 'value')を使用すると動作します - なぜそれがjquery val()で動作しないのですか?

答えて

4

使用

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

+1シンプルポイント。エラーを確認する – 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" /> 
関連する問題