我试图在提交后获取所有选中复选框的值和ID 我现在使用的循环工作并检索所有已检查的复选框,我可以回显所有那些值 但我也需要同时获取ID,我该怎么做?
我在这里找到了很多答案,但他们只检索了价值,而不是ID,我需要它们。
我的复选框设置如下:
<input type="checkbox" name="cbTrucks[]" value="1778" id="HT1234">
<input type="checkbox" name="cbTrucks[]" value="1946" id="HT4567">
<input type="checkbox" name="cbTrucks[]" value="1609" id="HT9876">
我的当前循环是:
$values = "";
if (!empty($_POST['cbTrucks']))
{
foreach($_POST['cbTrucks'] as $checkbox)
{
if ($values == "")
$values = $checkbox;
else
$values = $values.",".$checkbox;
}
echo $values;
}
else
{
echo "filter is empty";
}
这会显示所有选中复选框的值,但我也不会显示ID
。像
这样的东西$values = "";
$ids = "";
if (!empty($_POST['cbTrucks']))
{
foreach($_POST['cbTrucks'] as $checkbox)
{
if ($values == "")
$values = $checkbox;
else
$values = $values.",".$checkbox;
$ids = $ids.$checkbox.id; // I need something like this
}
echo $values;
}
答案 0 :(得分:3)
您不能,因为默认情况下不会在POST中提交ID。我建议您将ID添加到值中,如下所示:
<input type="checkbox" name="cbTrucks[]" value="1778_HT1234">
<input type="checkbox" name="cbTrucks[]" value="1946_HT4567">
<input type="checkbox" name="cbTrucks[]" value="1609_HT9876">
然后在PHP中使用:
list($value, $id) = explode('_', $checkbox);
在循环中:
foreach($_POST['cbTrucks'] as $checkbox) {
list($value, $id) = explode('_', $checkbox);
}