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

mulple select 将返回这样的查询(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 回答