【发布时间】:2018-03-30 19:21:17
【问题描述】:
我有一个表格,可以“据说”显示保存在数据库中的每个方法/任务的进度条。此进度条的基础是两个日期,startDate 和 endDate。我的问题是,进度条似乎只在表格的第一行工作。我只是一个初学者,还在练习,所以欢迎任何帮助..
这是我的代码..
<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 + '%');
}
}
如果有帮助,除草方法的日期是开始日期:10-1-2017 - 结束日期:10-4-2017, 耕种 10-8-2017 --> 10-11-2017 和 浇水 10-12-2017 --> 10-14-2017
【问题讨论】:
-
不要给多个元素相同的id。 jQuery 只会返回与 id 查询匹配的第一个项目。代码还有其他问题,但如果你修正了这个假设,它应该有助于在调试时阐明其他问题
标签: javascript jquery twitter-bootstrap html-table