需要访问选中的复选框

时间:2009-05-25 09:37:45

标签: javascript jquery

我需要获取已分配给已选中复选框的值, 并且我已经使用for循环来显示复选框,现在我需要访问仅选中的复选框的值,

有人可以帮我解决这个问题吗?

foreach($inbox as $inbox_info) 
{
    <input type="checkbox" id="checkUnread" name="checkUnread" value="<? echo $inbox_info['inbox_id'];?>" />
}

我正在尝试进行邮件收件箱功能,我需要获取已选中复选框的元素的ID,以便我可以在数据库中标记未读取的元素

3 个答案:

答案 0 :(得分:6)

查看:checked selector

$("input:checked").val()

这是一个示例函数。

function checkValue()
{
    $('.boxes:checked').each(function(){
        alert($(this).val());
    });
}

这适用于此套装。

<input type="checkbox" class="boxes" value="1" />
<input type="checkbox" class="boxes" value="2" />
<input type="checkbox" class="boxes" value="3" />
<input type="checkbox" class="boxes" value="4" />
<input type="checkbox" class="boxes" value="5" />
<input type="button" onclick="return checkValue()" value="Check Value" />

答案 1 :(得分:1)

为了阐述edeverett在这里说的话,我认为你真的不需要复选框ID。如果将每个复选框的值设置为消息ID,则可以执行以下操作:

<input type="checkbox" name="checkUnread" value="message_id" />

然后检索这些值的数组,

var vals = $.map($('input:checked'), function(e){ return $(e).val(); });

查看此jsFiddle

答案 2 :(得分:0)

看起来你需要看html。

HTML中的Id属性必须是唯一的 - 每页只允许使用一次id。看起来你的所有输入都使用了'checkUnread'的id,这将导致你的Javascript中出现错误(这应该也是名称的情况,除非在提交表单时不使用这些值)。

我建议您将唯一的inbox_id指定为输入的ID。然后使用Javascript获取输入的值,而不是获取id。