从所选多个复选框中获取值

时间:2015-11-11 16:10:09

标签: php

我有一个表单来使用GET方法选择一些项目,如:

<form action="room_selected.php" method="get" id="formget" name="formget">
<input type="checkbox" id="room_id[]" name="room_id[]" value="1">
<input type="text" id="room_price[]" name="room_price[]" value="150000">

<input type="checkbox" id="room_id[]" name="room_id[]" value="2">
<input type="text" id="room_price[]" name="room_price[]" value="250000">

<input type="checkbox" id="room_id[]" name="room_id[]" value="3">
<input type="text" id="room_price[]" name="room_price[]" value="350000">

如果我选择checkbox包含值1和值3,则在room_selected.php中仅显示room 1和room 3,包括price 150000和{{1 350000。

我尝试使用price但不能正常工作,例如:

for

1 个答案:

答案 0 :(得分:0)

这里的问题看起来是因为你只选择了两个复选框,你的for循环只会循环两次。因此PHP页面将看到两个复选框值和三个文本字段值;

你可以尝试这样的事情;

<form action="room_selected.php" method="get" id="formget" name="formget">
<input type="checkbox" id="room_id[]" name="room_id[]" value="1">
<input type="text" id="room_price[]" name="room_price_1" value="150000">

<input type="checkbox" id="room_id[]" name="room_id[]" value="2">
<input type="text" id="room_price[]" name="room_price_2" value="250000">

<input type="checkbox" id="room_id[]" name="room_id[]" value="3">
<input type="text" id="room_price[]" name="room_price_2" value="350000">

<?php

if (count($_GET['room_id']) > 0) {
    foreach ($_GET['room_id'] as $roomId) {
        $textFieldName = "room_price_" + $roomId;

        echo $roomId . ' = ' . $_GET[$textFieldName];
    }
}

?>
相关问题