2012-02-08 7 views
1

jQuery 1.4.3を使用しています。インデックスの値で要素を参照するにはどうすればよいですか?

私はこのようなチェックボックスのグループを持っている:

<input type='checkbox' class="Product" value="5"> 
<input type='checkbox' class="Product" value="2"> 
<input type='checkbox' class="Product" value="3"> 

私はこのような要素のインデックスを取得しています:あなたが最初のチェックボックスをクリックすると、IDXの値があるべき

$(".Product").click(function() { 
    // GET PRODUCT DETAILS 
    var Idx = $(this).index(".Product"); 
)}; 

ゼロ。 2番目のボックスをクリックすると、Idxの値は1になります。 3番目のボックスをクリックすると、Idxは2になります。

ここでは、インデックスを使用してクリックしたばかりのボックスをオフにしたいとします。インデックスの値で要素を参照するにはどうすればよいですか?

$(".Product").click(function() { 
    // GET PRODUCT DETAILS 
    var Idx = $(this).index(".Product"); 
    alert('The index of the checkbox that was clicked was ' + Idx); 

    // UNCHECK THE BOX THAT WAS JUST CHECKED -- NOT USING THIS 
    $(".Product").index(Idx).attr("checked", false); 


)}; 

これは間違っていると固定する必要がある行:

// UNCHECK THE BOX THAT WAS JUST CHECKED -- NOT USING THIS 
    $(".Product").index(Idx).attr("checked", false); 

は、あなたがこの問題を解決することはできますか?

+0

:// APIを。 jquery.com/ * "index" *という単語を一番上の検索ボックスに入力すると、 '.eq()'メソッドがリストの2番目になります。 –

答えて

3

おそらく、この試してみてください。HTTPで

$('.Product').eq(Idx).attr('checked', false); 
6

.eq(index)この

$(".Product").eq(Idx).attr("checked", false); 
2

を行い、あなたにもEQのセレクタのバージョンを使用することができます。

$(".Product:eq("+Idx+")").attr("checked", false); 
+0

良いキャッチ、ありがとう。 – zero

+0

私はたまに自分のような小さな問題を修正することができることを時々忘れる。 –

+0

いや、コメントは私が投稿する前に二重チェックしないという私の習慣を壊すのに役立ちます – zero

関連する問題