先来一张效果图: view HTML页面代码如下:
<td align="center" onclick="changeLike(<?php echo $id ?>,'<?php echo $like_count; ?>',this)">
<?php echo $value['like']; ?>
</td>
JavaScript代码如下:
function changeLike (id, like, obj) {
$(obj).html('<input type="num" name="" size="5" value="'+like+'">');
$(obj).find('input').focus();
// 键盘Enter键提交
$(obj).find('input').keydown(function(event) {
if(event.which==13){
$(obj).find('input').blur();
}
});
// 更新数据
$(obj).find('input').blur(function(event) {
$(obj).html(this.value);
$.get('/admin/ajaxLike/'+id+'/'+this.value, function(data) {
like = data;
});
});
}
至于控制器代码就很简单了,用获取到的参数,更新记录,返回新纪录。下面是我用CakePHP写的action,请结合自身情况写代码:
public function ajaxLike($id, $like)
{
$this->layout = 'ajax';
$this->Article->id = $id;
$this->Article->saveField('like', $like);
exit($like);
}
- 原文作者: forecho
- 原文链接: https://blog.forecho.com/jquery-ajax-dian-ji-xiu-gai.html
- 版权声明:本作品采用 署名-非商业性使用 4.0 国际 (CC BY-NC 4.0)进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。