onclick事件点击2次后才update数据库
标签是<a id="press-<?php echo $arr0['id']; ?>" href="javascript:void(0)"
>顶</a>
<span id="<?php echo $arr0['id']; ?>"><?php echo $arr0['num']; ?></span>
js 是
function clicktop(sid,num) {
$(document).ready(function() {
$("#press-"+sid).click(function() {
$.ajax({
type : "post",
data : "id="+sid,
url: "/index.php/Add_Num/",
async: true,
success : function(result){
alert('aaa');
},
error: function() {
alert('bbb');
}
});
});
});
$("#"+sid).html(num+1);
}
现在是在点击 "顶" 字的时候,界面会更新,但是数据库中没有更新
每次更新都是+1
点击2次 "顶" 后,才更新进去
求解!!!
本帖最后由 yuzhigang5460 于 2012-2-17 22:33 编辑
js代码太别致了。
这么写试试。
$(document).ready(function(){
var sid = <?php echo $arr0['id'];?>;
$('#press-'+ sid).click(function(){
$.post('/index.php/add_Num/', {id: sid}, function(msg){$('#'+sid).html(msg);});
return false;
});
});
msg为add_Num返回的值,新的顶的总数。
yuzhigang5460 发表于 2012-2-17 22:25 static/image/common/back.gif
js代码太别致了。
这么写试试。
这样写的话
那就没办法区分 id 了
我页面可能有多个id
所以是 onclick 的时候传进来的
然后在里面获取的 lynn.wang 发表于 2012-2-18 09:04 static/image/common/back.gif
这样写的话
那就没办法区分 id 了
我页面可能有多个id
这就的有点技巧了,主要是信息要传进来。你可以这么做:
<input type="hidden" name="sid" value="<?php echo $arr0['id']; ?>" />
<aclass="top-it" href="#">顶</a>
<span><?php echo $arr0['num']; ?></span>
然后一切ok。
$(document).ready(function(){
$('.top-it').click(function(){
var sid = $(this).prev().val();
$.post('url',{sid: sid}, function(msg){});
return false;
});
});
当然你也可以直接把sid信息存储在span中,如同你原来的那样
<span id="<?php echo $arr0['id']; ?>"><?php echo $arr0['num']; ?></span>
然后sid的取法可以按照以下方式:
$(document).ready(function(){
$('.top-it').click(function(){
var sid = $(this).next().attr('id');
$.post('url',{sid: sid}, function(msg){});
return false;
});
});
还有top-it里的href就不用些void(0)之类的,记住在click事件中return false就可以了,这可以阻止元素的默认行为。
你原来代码的问题在于没有找到存储数据的方法,一般来说使用hidden的input,绑到id上,或者其他自定义属性可解决数据传递到html页面的问题。 事件冒泡检查代码 3Q 该问题已经解决,粗心了一点
<asid="<?php echo $arr0['id']; ?>" class="press" href="javascript:void(0)"
>顶</a>
<span id="<?php echo $arr0['id']; ?>"><?php echo $arr0['num']; ?></span>
$(document).ready(function(){
$('.press')click(function(){
var sid = $(this).attr('sid');
$.post('/index.php/add_Num/', {id: sid}, function(msg){$('#'+sid).html(msg);});
return false;
});
})
});
页:
[1]