使用每个复选框的ID执行操作

Doing something with the ID of each checked box

本文关键字:ID 执行 操作 复选框      更新时间:2023-09-26

我刚刚了解到我们可以遍历文档中的所有复选框,但我不清楚如何使用找到的复选框的值或属性。

这是我的代码:

    function buildrow(){
    $("input[type=checkbox][checked]").each( 
        function() { 
            alert($this.attr('id');//This doesn't work
        } 
    );
}

我们如何提取价值并利用它做些什么?比如提取ID的值并将其设置为变量?

感谢

function buildrow(){    
    $('input[type=checkbox]:checked').each(function()
    {
        var id = $(this).attr('id');
        // do something with the id..
        alert(id);
    });
}

使用标准DOM属性访问,而不是再次使用jQuery包装每个复选框:

alert(this.id)

应该起作用。您可能还想使用input[type="checkbox"]:checked作为选择器,注意要包括引号。一般来说,我会回避像:checkbox这样的选择器,因为其他开发人员可能会被误导,认为这是一个真正的CSS选择器。

alert( $(this).attr('id') ); //This does work

在您的代码中,您缺少一个右括号,而且要访问id,您可以从DOM元素本身获取它。试试这个

function buildrow(){
    $("input[type=checkbox]:checked").each( 
        function() { 
            alert(this.id);//This doesn't work
        } 
    );
}

$this应该是$(this),或者如果你要使用$this,因为它看起来整洁或方便,或者其他什么,你必须像一样将$(this)分配给$this

function buildrow(){
    $("input:checkbox").each(function(index,element) {
            $this = $(element);
            alert($this.attr('id'));//This doesn't work
        } 
    );
}

此外,你的警报功能也不正确,你最后错过了a),我也对你的主要功能体进行了其他更正。我希望这能有所帮助。