欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求思路:juqery+thinkphp的问答系统

程序员文章站 2022-06-13 14:34:40
...
大概的要求就是点击左侧的问题,右侧出现该问题的所有的回答.问题我已经从数据库中调用.

我的想法
1.是先从数据库总查询出该问题的答案,然后写下来,然后通过jquery显示出来 (或者写入)
2.还是通过jjquery取得该问题的id,传真给thinkphp,查询数据库后,输出?()
3.是不是要用到ajax?

应该选择哪个,大概如何实现
因为我只看了w3c的jquery教程,所有有点不知道从何下手,新手,描述的有点不清楚.


回复讨论(解决方案)

你说的第2点就要用到ajax
至于1还是2好,取决于问题的数量
只有几十个干脆直接查出答案,通过js点击改变右边div内容
如果问题很多,还带翻页,就要ajax查了
jquery:
$.get(url?id=123, function(data){alert(data)})
thinkphp:
$this->ajaxReturn($data);

前台JQ修改CSS
后台一次查询一页的数量+分页AJAX查询

你说的第2点就要用到ajax
至于1还是2好,取决于问题的数量
只有几十个干脆直接查出答案,通过js点击改变右边div内容
如果问题很多,还带翻页,就要ajax查了
jquery:
$.get(url?id=123, function(data){alert(data)})
thinkphp:
$this->ajaxReturn($data);



感谢,按照你的,我已经做出来点击左侧问题,出现右侧,答案,
还有个点赞功能想要做.不知道为什么按照现在的方法,不能实现呢
1.jquery改变html后添加的内容,是不是不能再接受点击事件了
2.我的想法是 点赞 跟 鄙视 两个点击后指向2个不用的function 查找后修改对应的数据库字段.这样的思路对么?

                $data = $data."

".$v['id'].":".$v['text']."
00

"; } }else{ $data ="没有满足条件的答案"; } $this->ajaxReturn($data); }


        //点击出现对应答案        $(document).ready(function(){            $(".qsn").click(function(){              //  alert(  $(this).attr('id'));                $.get("{$smarty.const.__CONTROLLER__}/ask/id/"+ $(this).attr('id'),                        function(data){                   // alert("Data: " + data );                            $('#ans').html(data);                         //  document.write(data);                        });            })        })


$(document).ready只能给页面刚开始的按钮绑定事件
你给点赞按钮加一个class:js_up,然后加一个id="123"
然后jquery里写:$('.js_up').live('click', function(){ajax提交点赞,id就是按钮的id属性})

错了,是$(".qsn").click
只能初始时绑定事件,你后面ajax补进来的按钮绑不上,要用live