jQuery Store div中复选框的值

时间:2010-09-06 00:25:27

标签: javascript jquery

如何在选定状态之前将此复选框列表添加到div中,因此如果选中它们,则应将它们添加到div中,否则如果未选中则将其从列表中删除。< / p>

<div id="selected-people"></div>

<input type="checkbox" value="45" id="Jamie" />
<input type="checkbox" value="46" id="Ethan" />
<input type="checkbox" value="47" id="James" />
<input type="checkbox" value="48" id="Jamie" />
<input type="checkbox" value="49" id="Darren" />
<input type="checkbox" value="50" id="Danny" />
<input type="checkbox" value="51" id="Charles" />
<input type="checkbox" value="52" id="Charlotte" />
<input type="checkbox" value="53" id="Natasha" />

是否可以将id名称作为存储值提取,因此id值将被添加到div而不是值 - 该值需要具有该数字,以便将其添加到数据库供以后使用。

我在这里看到,有一个带有复选框和一个textarea,我改变了一些部分,甚至没有工作。

function storeuser() 
{         
    var users = [];

    $('input[type=checkbox]:checked').each(function() 
    {
        users.push($(this).val());
    });

    $('#selected-people').html(users)
}

$(function() 
{
    $('input[type=checkbox]').click(storeuser);
    storeuser();
});

4 个答案:

答案 0 :(得分:6)

所以只要点击一个复选框,你想要更新DIV吗?听起来不错吗?

http://jsfiddle.net/HBXvy/

var $checkboxes;

function storeuser() {         
    var users = $checkboxes.map(function() {
        if(this.checked) return this.id;
    }).get().join(',');
    $('#selected-people').html(users); 
}

$(function() {
    $checkboxes = $('input:checkbox').change(storeuser);
});​

答案 1 :(得分:2)

假设您在页面上只有这些输入控件,我可以编写以下代码。

$.each($('input'), function(index, value) {
    $('selected-people').append($(value).attr('id'));
});

由于更多描述而编辑


$(document).ready(function() {
    $.each($('input'), function(index, value) {
         $(value).bind('click', function() {
             $('selected-people').append($(value).attr('id'));
         });
    });
});

注意:我将每个元素的click事件绑定到一个函数。如果这不起作用或者对你应该做的事情不利,那么将它改为“改变”事件。

答案 2 :(得分:0)

变化:

users.push($(this).val());

为:

users.push($(this).attr('id'));

答案 3 :(得分:0)

这是为了将逗号分隔值绑定到输入复选框列表

$(".chkboxes").val("1,2,3,4,5,6".split(','));

它将根据逗号分隔的给定字符串值绑定复选框。