0

同じページで動的フォームを作成するために 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 を動的に表示する必要があります。

4

1 に答える 1