我需要获取已分配给已选中复选框的值, 并且我已经使用for循环来显示复选框,现在我需要访问仅选中的复选框的值,
有人可以帮我解决这个问题吗?
foreach($inbox as $inbox_info)
{
<input type="checkbox" id="checkUnread" name="checkUnread" value="<? echo $inbox_info['inbox_id'];?>" />
}
我正在尝试进行邮件收件箱功能,我需要获取已选中复选框的元素的ID,以便我可以在数据库中标记未读取的元素
答案 0 :(得分:6)
$("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。