PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

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

原创
2016-06-21 08:45:38 630浏览

大概的要求就是点击左侧的问题,右侧出现该问题的所有的回答.问题我已经从数据库中调用.

我的想法
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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。