1

多値選択から選択した項目の「値」を取得する方法を教えてもらえますか?

私は次のものを持っています:

    <select id="category" name="category[]" multiple="multiple">';

        /* Select categories */ 
        [...]
        <option value"' . $row->id . '">' . $row->name . '</option>';

これは次を返します:

                    <option value"1">itemName1</option>

以下のコードで、値ではなく、選択したテキストが表示されるのはなぜですか? ここで何が問題なのですか?

                    $category = $_POST['category'];
        if (count($category) > 0){ 

            foreach ($category as $key => $value) {
                echo  $value . "<br>\n";
            }
        }

これは戻っitemName1てきて、実際のものが必要ですvalue (1)

ありがとうございました

4

2 に答える 2

1

HTML が無効です。あなたが持っている:

<option value"1">itemName1</option>

それはあるべきですが:

<option value="1">itemName1</option>
于 2012-09-01T13:05:59.497 に答える
0

複数選択すると、次のようなクエリが返されます (name = name and values = int)

name=1&name=4&name=99

したがって、配列が次のように見える選択された値を返します。

array(
    name => array(
        [0] => 1
        [1] => 4
        [2] => 99
    )
)

ps HTML エラーを修正すると、有効な結果が得られる可能性が高くなります。

于 2012-09-01T13:09:28.463 に答える