以下のこのコードでは、最初にドロップダウンにjavascriptコードを使用しました。更新すると、最初の行のみが更新され、残りは更新されません.次に、htmlコードを使用すると、すべての行が更新されます.plsは誰でもこの問題を修正するのに役立ちます. html から js に変更した理由は、自動年のためです。
<script type="text/javascript">
function autoYear() {
var time = new Date();
var year = time.getYear();
if (year < 1900) {
year = year + 1900;
}
var date = year - 1; /*change the '25' to the number of years in the past you want to show */
var future = year + 10; /*change the '10' to the number of years in the future you want to show */
document.writeln ("<form><select id='year_<?php echo $row->id ?>' name='year_<?php echo $row->id ?>' ><option value=\"\"><?php echo $row->year; ?>");
do {
date++;
if (date != <?php echo $row->year; ?>) {
document.write ("<option value=\"" +date+"\">" +date+ "");
}
}
while (date < future);
document.write ("</select></form>");
}
</script>
<script type="text/javascript">
autoYear();
</script>
HTML
<select class="inputmedium" name="year_<?php echo $row->id; ?>" id="year_<?php echo $row->id; ?>" value="<?php echo $row->year; ?>">
<?php for($s=0;$s<8;$s++)
{
if($row->year!=null and $row->year==$year_array[$s]){
echo "<option selected value='" .$year_array[$s]. "'>" .$year_array[$s]. "</option>";
}else{
echo "<option value='" .$year_array[$s]. "'>" .$year_array[$s]. "</option>";
}
} ?>
</select>
<?php
$year_array=array();
$year_array[0]="2013";
$year_array[1]="2014";
$year_array[2]="2015";
$year_array[3]="2016";
$year_array[4]="2017";
$year_array[5]="2018";
$year_array[6]="2019";
$year_array[7]="2020";
?>