ループによって生成されるすべての入力は、1 つのフォームの一部として送信されることを意図していますか? それらを配列に照合してみませんか?
名前をそれぞれから に、 からdays
に変更します。days[]
date_now
date_now[]
PHP 制御構造を直接 html に埋め込む場合は、より明確にするために代替構文を使用することを検討してください。
現在のループ カウンターを各入力の id に埋め込むと、それぞれを個別に選択できるようになります。
各入力に属性を追加するclass
と、それらをグループとして選択できます。
の結果を の 2 番目のパラメータに直接$ts
渡すことで、各ループ反復でへの余分な割り当てをなくすことができます。strtotime()
date()
あなたの最終的な意図が完全に明確ではないので、私の提案をすべて適用して変更した最初のコード サンプルを次に示します。
<?php
$date = date('m-d-Y');
$ts = strtotime($date);
$year = date('o', $ts);
$week = date('W', $ts);
for($i = 1; $i <= 7; $i++):
$dt = date("Y-m-d", strtotime($year.'W'.$week.$i));
?>
<td>
<input type="text" name="days[]" id="days<?=$i?>" class="days" />
<input type="hidden" name="date_now[]" id="date_now<?=$i>" value="<?=$dt?>" class="date_now" />
</td>
<?php endfor; ?>
上記のコードから、次のように入力の 1 つを個別に選択できます。
$("#days3").val();
または、次のように非表示の入力をすべて選択できます。
var dates_now = [];
$(".date_now").each(function(i, input) {
dates_now.push(input.val());
});