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

时间:2012-01-25 15:13:35

标签: javascript jquery

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

这是我的代码:

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

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

由于

5 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

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

alert(this.id)

应该有效。您可能还希望使用input[type="checkbox"]:checked作为选择器,注意包含引号。作为一般规则,我回避发明的选择器,如:checkbox,因为其他开发人员可能误以为这是一个真正的CSS选择器。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

在您的代码中,您缺少一个结束括号,并且还要访问一个ID,您可以从DOM元素本身获取它。试试这个

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

答案 4 :(得分:0)

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

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

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