gpt4 book ai didi

javascript - html表格中的进度条

转载 作者:行者123 更新时间:2023-12-01 02:54:10 25 4
gpt4 key购买 nike

我有一个表格,“应该”显示数据库中保存的每个方法/任务的进度条。此进度条的基础是两个日期:开始日期和结束日期。我的问题是,进度条似乎只在表格的第一行起作用。我只是一个初学者,仍在练习,所以欢迎任何帮助..

这是我的代码..

<body onload="progressbar()">
<div>
<table>
<tr>
<th width="20%">Method</th>
<th width="50%">Progress</th>
</tr><?php

while($row_method = mysqli_fetch_array($result_method))
{

echo '

<tr>
<td> '.$row_method["methodName"].'
</td>
<td>
<div class="progress-bar" id="bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width:0%">
<span class="sr-only">70% Complete</span>
<input type="hidden" id="start" value = "'.$row_method["methodStart"].'" />
<input type="hidden" id="end" value = "'.$row_method["methodEnd"].'" />
</div>

</td>
</tr>

';
};
?>
</table>
</div>

我的 JavaScript 是这样的:

function progressbar() {
var start1 = $('#start').val();
var end1 = $('#end').val();
var start = new Date(start1),
end = new Date(end1),
today = new Date();

var percentage = Math.round(100 * (today - start) / (end - start));
if (percentage >= 100) {
$('#bar').attr('aria-valuenow', 100).css('width', 100 + '%');
}
}

enter image description here

如果有帮助的话,除草方法的日期是开始日期:2017年10月1日 - 结束日期:2017年10月4日,耕种 10-8-2017 --> 10-11-2017 和浇水土地 10-12-2017 --> 10-14-2017

最佳答案

发生这种情况是因为您有多个具有相同 ID 的输入。因此,一旦应用 JS 函数,它只会应用于第一行。我建议您应用函数 throw PHP。所以 PHP 函数将是

function progressbar($start_date,$end_date)
{
$start_time = strtotime($start_date);
$now = time();
$end_time = strtotime($end_date);

$percent = round(($now-$start_time) / ($end_time-$start_time) * 100);

return($percent);
}

所以你的最终代码将是这样的:

<body>
<div>
<table>
<tr>
<th width="20%">Method</th>
<th width="50%">Progress</th>
</tr>

<?php
function progressbar($start_date,$end_date)
{
$start_time = strtotime($start_date);
$now = time();
$end_time = strtotime($end_date);

$percent = round(($now-$start_time) / ($end_time-$start_time) * 100);

return($percent);
}

while($row_method = mysqli_fetch_array($result_method))
{

$progressbar = progressbar($row_method["methodStart"],$row_method["methodEnd"]);

echo '

<tr>
<td> '.$row_method["methodName"].'
</td>
<td>
<div class="progress-bar" id="bar" role="progressbar" aria-valuenow="'.$progressbar.'" aria-valuemin="0" aria-valuemax="100" style="width:0%">
<span class="sr-only">'.$progressbar.'% Complete</span>
</div>

</td>
</tr>

';
};
?>
</table>
</div>

关于javascript - html表格中的进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46818288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com