如何通过索引的值引用元素?

时间:2012-02-08 18:53:34

标签: jquery

我正在使用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);

你能解决这个问题吗?

3 个答案:

答案 0 :(得分:6)

.eq(index)执行此操作

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

答案 1 :(得分:3)

也许试试这个:

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

答案 2 :(得分:2)

你也可以使用eq的选择器版本:

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