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 に答える