我正在开发一个codeigniter网站。在我的数据库中,我有一个项目和一些project_logs。
我想检查每个项目有多少个日志,并在每个项目的范围内显示它。但是我如何将每个项目的ID传递给javascript?
我尝试在我的脚本中执行此操作:
setInterval(
function (){
var ID = $(".trial").attr("data-id");
var el = $('span#trial-' + ID);
$(el).load("<? echo base_url()?>/projects_logs/checkMessage/" + ID);
}, 1000);
我的观点:
<ul class="dropdown-slider">
<? foreach($roster->latest->result_object() as $project) { ?>
<li class="trial" data-id="<?=$project->id?>">
<a href="<? echo base_url();?>projects/<?=$project->id?>">
<?=$project->title?><span id="trial-<?=$project->id?>" data-id="<?=$project->id?>"></span>
</a>
</li>
<? } ?>
</ul>
在我的控制器中,它将返回项目的ID以检查脚本是否有效,但稍后它将执行一个计算项目有多少日志的查询。现在没有任何事情发生。
我不熟悉javascript,只能通过谷歌学习。
答案 0 :(得分:0)
您的JavaScript中有太多功能:
setInterval(
function (){function checkMessage(){
// ...
}, 1000);
上面的结束括号结束“checkMessage()”,你永远不会调用它。只需从上面删除“function checkMessage(){”,你应该有一些计算出来的东西:
setInterval(
function (){
// ...
}, 1000);
请注意,您的JavaScript代码对列表中的第一个元素进行操作,并且不对所有元素进行操作。使用jQuery,您可以使用.each()来操作列表中的所有元素。
将来,调试这些的好方法是: