我被困在某事上。
我想在点击“赞”时将用户的ID添加到数据库,并在<p id="likes_<? echo $item-id; ?>"></p>
中显示一些用户信息。
<script type="text/javascript">
var user_id = "<? echo $user_id; ?>";
</script>
<? foreach ($items->result() as $item): ?>
<p>This is the <? echo $item->title; ?></p>
<p><a class="test" id="<? echo $item->id; ?>" href="#">Like</a></p>
The following like this:
<p id="likes_<? echo $item->id; ?>"></p>
<? endforeach; ?>
这是用于发布的js文件。这就是我被困住的地方。我不知道如何返回每个帖子的数据。我对id $("p#likes_" + 8).html(data.content);
进行了硬编码以测试它。除此之外一切正常。
$(document).ready(function() {
$("a.test").click(function() {
$.post(base_url + "index.php/home/like", { user_id : user_id, post_id : $(this).attr('id') }, function(data)
{
alert(data);
}, "json");
});
function get_like()
{
$.post(base_url + 'index.php/home/get_like', { post_id : $(this).attr('id') }, function(data)
{
var post_id = $(this).attr('id')
if (data.status == 'ok')
{
$("p#likes_" + 8).html(data.content);
}
}, "json");
}
get_wait();
});
我没有发布控制器和型号代码,但如果需要我可以添加它。使用Codeigniter。
答案 0 :(得分:0)
我不确定我是否感觉不舒服。我想你想要填满你所有的p#likes_X
元素?如果是,则应将所有<p>
放在一个根目录中,使用$("p").each()
,将所有id
拆分为_
并运行您的函数get_like($id)
。
答案 1 :(得分:0)
Html5数据
<a href="#" class="rate" data-dir="up" data-itemid="8">Like</a>
<a href="#" class="rate" data-dir="down" data-itemid="8">Dislike</a>
-
$("a.rate").live('click', function(e){
e.preventDefault();
var data = {
'dir' : $(this).data('dir'),
'itemid' : $(this).data('itemid')
}
//do ajax
//append :after
$($(this)).after("<p id=" + data.itemid + ">" + callback + "</p>");
});
从会话中获取用户ID(假设他们已登录)