我对一个我正在处理很长时间的问题有一点疑问:我有一个显示项目列表的HTML,存储在h2db中。这些项目正确显示。
<tr th:each="item : ${list}">
<td th:text="${item.getActualcost()}" id="actualcost">Actual Cost</td>
</tr>
我现在想在此列表中添加另一列,显示进度条。
我将此代码添加到HTML部分:
<div class="container">
<div class="col-md-4">
<div class="progress">
<div id="progressPlaceholder"></div>
</div>
脚本部分如下所示:
<script>
var rank=$('actualcost'),place=4;
var progress = '<div class="progress-bar" role="progressbar" aria-valuenow="'+rank+'" aria-valuemin="0" aria-valuemax="100" style="width: '+rank+'%;"><span class="show" id="totalUsers">Ranked '+place+' of '+rank+'</span></div>';
$('#progressPlaceholder').empty().append(progress);
</script>
问题是,进度条没有正确填写。所以我试图通过添加'+ rank +'来找出它获得的价值。不幸的是,我只打印出[object Object]。有人可以帮我解决这个问题吗?该值应为int。
答案 0 :(得分:0)
Rank是一个对象。
console.log(rank)
应该给你对象,然后使用适当的键。它可能看起来像:
rank['value']//just an example
答案 1 :(得分:0)
当你获得一个带有jQuery的元素时,你会得到一个jQuery集合,它也是一个对象。
var rank = $('actualcost')
请注意,上面会假设您的元素看起来像<actualcost></actualcost>
,您可能没有。
即使找不到该元素,只需调用$()
即可返回一个对象。
对象字符串表示始终为[object Object]
。
当您连接一个对象和一个字符串时,您将获得对象字符串表示形式,即...等待它...始终[object Object]
var str = 'something something' + $('actualcost');
// str === 'something something[object Object]'
这正是您的代码中发生的事情
var rank=$('actualcost'),place=4;
var progress = '<div class="progress-bar" role="progressbar" aria-valuenow="'+rank+' ....
你可能想要
var rank = $('#actualcost').text() ,place=4;
取决于HTML的实际内容(我不知道Thymeleaf)