2012-02-08 55 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"> 

我得到這樣一個元素的索引:

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

如果您單擊第一個複選框,IDX的值應該是零。如果點擊第二個框,Idx的值應該是1。如果你點擊第三個框,Idx將是兩個。

現在讓我們說,我想取消剛使用其指數點擊框。我如何通過其索引的值引用元素?

$(".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

在http:// API。 jquery.com/如果你在上面鍵入單詞*「指標」 *在搜索框中,在'.EQ()'方法成爲列表中的第二個。 – 2012-02-08 19:00:52

回答

3

也許試試這個:

$('.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 2012-02-08 18:59:58

+0

我有時會忘記,我就可以解決這樣的小我自己的問題。 – 2012-02-08 19:01:38

+0

是啊,但註釋有助於打破我,我沒有雙重檢查的習慣,我之前發佈 – zero 2012-02-08 19:03:16