同じページで動的フォームを作成するために 1 つの部分を使用し、受信フォームに送信される 2 番目の部分を使用するために、select 入力を 2 つの部分に分割する必要があります。
これは、選択した入力選択に基づいて以下の div を動的に作成するために今持っているものです。
$a = 0;
while ($row = mysql_fetch_array($result)) {
$people_array[$a] = array(
"ID" => $row['ID'],
"event" => $row['name'],
"time_needed" => $row['time_needed'],
);
$a = $a + 1;
}
$count = count($people_array);
<form>
<?php for($p=0,$p<$count,p++){
$segment_id = $people_array[$p][ID]; ?>
<select name="name_segment" id="name_segment">
<option value="female" >
<?php echo $people_array[$p][name]; ?>
</option>
<option value="male" >
<?php echo $people_array[$p][name]; ?>
</option>
</select>
<?php } ?>
</form>
<div id="name_segment_female" class="name_segment_input" style="display:none;">
Allow at least 30 extra minutes for bathroom usage.
</div>
<div id="name_segment_male" class="name_segment_input" style="display:none;">
No extra bathroom time needed.
</div>
そしてジャバスクリプト
<script>
$("#name_segment").change(function() {
var name_segment = $(this).val();
$(".name_segment_input").hide();
$("#name_segment_" + name_segment).show("slow");
});
</script>
ここでstackoverflowを検索すると、これを始めるきっかけとなったこの投稿が見つかりました: <option value="{type:'amount',segment_id:'<?php echo $segment_id; ?>'} >
. ページを送信する前に、このオブジェクトを JavaScript で分割する方法を知る必要があります。フォームの受信ページに送信されるより具体的な値として、オプション入力からの同じ値を使用して、非表示の div を動的に表示する必要があります。