0

我无法仅从项目列表中返回已检查的项目。我不是只返回选中的项目,而是得到完整的复选框列表:选中与否。

我有一个表单,它返回许多带有复选框的项目列表。它似乎工作正常,保存了用户的偏好并正确分配checked="checked"给他们选择的项目。

生成如下:

foreach ($this->item as $code => $value) {
    $checked = $this->settings['item'][$code] ? "checked='checked'" : '';
    $output .= "<label style=\"margin-left: 20px;\"><input type='checkbox' {$checked} name='options[item][{$code}]'/>{$this->item[$code]}</label><br />\n\r";
}

我只想返回所选复选框的值。

这是我一直在尝试的:

foreach ($_POST['items'] as $value) {
    echo "the value are: ".$value;
}

这将返回所有项目,而不仅仅是选定的项目。

我也试过:

$item = $this->item;
foreach($item as $code) {
    print $code;
}

这也会返回所有选中和未选中的项目。

谁能指出问题出在哪里?

任何帮助是极大的赞赏!

4

1 回答 1

0

我不确定你在问什么,但我假设你想要以前检查过的那些。所以,试试这个:

foreach ($_POST['items'] as $code => $value) {
    if ($this->settings['item'][$code]) {
        echo "the value are: ".$value;
    }
}
于 2012-09-27T05:33:26.953 回答