Home > Backend Development > PHP Tutorial > 新帖续问:$.ajax()函数对于如何利用返回值的一些细节问题

新帖续问:$.ajax()函数对于如何利用返回值的一些细节问题

WBOY
Release: 2016-06-23 14:18:09
Original
740 people have browsed it


引用 33 楼 anyilaoliu 的回复:
你以前是input的边框  现在input都被你替换掉了

有两个解决方案  一是直接把数值插入input的value中

二是还按现在的写  然后给td加边框让其看起来像之前的

给你写的td.html(xxx) 并不是一定要死板的这么写 你td里边有内容 就随之变化
????????????????????????????????????????????????????????????????????????????????
前面是热心人 anyilaoliu对我前一个问题的指导。随后,我又产生一些问题:(大家别介意,我是新手,我想扎扎实实把问题问清楚,这样此类问题就好办了)

1.在我前面问的问题中,我需要完成页面左边是记录列表,右边为记录的各个字段详细信息(基本上是以一列方框的形势存在),下面有一个save按钮,用来添加记录的。现在我想增加一个按钮,用来删除选中的记录。我的思路是:点击左边某记录,其内容会在右边显现出具体内容,此时点击删除按钮,则可以删除给记录。我在实现过程中遇到的困难是如何记录下给选中的记录的编号,我采用的方法是在$.ajax()指向ajax.php时,在ajax.php文件中采用session的方式记录下编号,然后再在点击删除按钮时启动另外一个文件,读取session,并查找数据库并删除。想的挺美的,程序就是认为session没有赋值。晕死,以前试过做过小东西,session是保留的最后一招,现在不行了。也不知道怎么回事情?

2.针对$.ajax()中所指定的ajax.php,把该文件返回的信息插入的value中,比如 
 
这个应该怎么操作呢?

3.前贴中说到, anyilaoliu说到“给你写的td.html(xxx) 并不是一定要死板的这么写 你td里边有内容 就随之变化”,意思其实是不仅td可以用,像

都可以这样用是么?是不是对于上述类型都是标注class="指定名称"即可呢?

4.还有,$.ajax()函数中采用$(".show_tr").text(..)的形式引用返回信息,但ajax中还有$.post()这个函数时,好像就写成$("#show_6").text(..),这两个.show_6和#show_6是不能混用的吧?我看到另外一个朋友,他就是到处用$.post(),我想知道这两个函数优劣,以及该使用哪个。

我这个恐怕是学习贴,欢迎各位指导啊。

回复讨论(解决方案)

之前我说了很多 可能描述的也不太清楚  或许换个人楼主就能看更明白一些... 也希望能有高人指出我说的不对不好的地方,下边也是

1.没听说过删除用session做的,都决定用ajax了 就继续用ajax,这个应该是比较习惯的做法了. 和点哪个显示哪个一样,点哪个的删除,就把哪个对应的唯一字段值传用ajax到后台进行删除 删除成功后返回成功标志,前台在ajax的success里边接到这个值就刷新页面或者操作js删掉对应的dom节点

2.插入td 可以写成$("td").html(要插入的值),要插入td里边的input,可以写成$("td > input").val(要插入的值),无非是选择器的不同.使用各种选择器定位到你要改变值的地方

3.还是选择器的问题,(继续说jquery的选择器)对于标准的html标签,

可以用$("p")来选定. 如果这个

有个class,比如

 可以用$("p.abc")来定位也可以用$(".abc")来定位. 如果这个p还有个id
比如

 可以用$(".abc")来定位也可以用$("#bcd")来定位.
总之常规标签直接在引号里边写,class就加点,id就加#,跟CSS的选择器规则相同 $("p.abc")则表示 class为abc的p标记,$(".abc")表示class为abc的任意标记

4.不管是$.ajax()还是$.post()还是jquery的其他方法,里边各种类型的选择器都可以随意使用 只要按照规则能定位到即可.
$.ajax()和$.post()我区别我不太清楚,我能看出来的唯一区别就是$.ajax()可以选择get和post两种方式,并且要指定,而$.post()只能用post方式,当然,也无需指定.


求指正.

1、不知道你在说什么?既然是续问,那么原帖在哪里?
2、你原帖中并没有清晰的描述你的需求,亏了 anyilaoliu 有耐心示例了整个代码
不满你的意是很正常的,因为你并没有说明细节
3、术业有专攻,js 的问题应在 javascript 版面讨论。
这样也可以帮助你分清服务端和客户端各自的任务

1、不知道你在说什么?既然是续问,那么原帖在哪里?
2、你原帖中并没有清晰的描述你的需求,亏了 anyilaoliu 有耐心示例了整个代码
不满你的意是很正常的,因为你并没有说明细节
3、术业有专攻,js 的问题应在 javascript 版面讨论。
这样也可以帮助你分清服务端和客户端各自的任务

结贴之后,也不知道帖子跑哪里去了。
先前帖子中,anyilaoliu和我一直在探讨,所以新帖中其他人看着就觉得有点奇怪。

1、不知道你在说什么?既然是续问,那么原帖在哪里?
2、你原帖中并没有清晰的描述你的需求,亏了 anyilaoliu 有耐心示例了整个代码
不满你的意是很正常的,因为你并没有说明细节
3、术业有专攻,js 的问题应在 javascript 版面讨论。
这样也可以帮助你分清服务端和客户端各自的任务

呵呵,一看原来是版主回我的信息了。
我就是新手,多问问清楚,打破砂锅问到底还是要的,否则懵懵懂懂,还是不会做。
原来版块划分这么清楚啊,才知道。说起来,知识界限,而且我主要还是做Php的,但总碰到js问题不会,悲啊。
既然开贴了,就让我仔细琢磨琢磨清楚,下回注意。
谢谢各位前辈了。

之前我说了很多 可能描述的也不太清楚  或许换个人楼主就能看更明白一些... 也希望能有高人指出我说的不对不好的地方,下边也是

1.没听说过删除用session做的,都决定用ajax了 就继续用ajax,这个应该是比较习惯的做法了. 和点哪个显示哪个一样,点哪个的删除,就把哪个对应的唯一字段值传用ajax到后台进行删除 删除成功后返回成功标志,前台在ajax的success里边接到这个值就刷新页面或者操作js删掉对应的dom节点

2.插入td 可以写成$("td").html(要插入的值),要插入td里边的input,可以写成$("td > input").val(要插入的值),无非是选择器的不同.使用各种选择器定位到你要改变值的地方

3.还是选择器的问题,(继续说jquery的选择器)对于标准的html标签,

可以用$("p")来选定. 如果这个

有个class,比如

 可以用$("p.abc")来定位也可以用$(".abc")来定位. 如果这个p还有个id
比如

 可以用$(".abc")来定位也可以用$("#bcd")来定位.
总之常规标签直接在引号里边写,class就加点,id就加#,跟CSS的选择器规则相同 $("p.abc")则表示 class为abc的p标记,$(".abc")表示class为abc的任意标记

4.不管是$.ajax()还是$.post()还是jquery的其他方法,里边各种类型的选择器都可以随意使用 只要按照规则能定位到即可.
$.ajax()和$.post()我区别我不太清楚,我能看出来的唯一区别就是$.ajax()可以选择get和post两种方式,并且要指定,而$.post()只能用post方式,当然,也无需指定.


求指正.

首先,谢谢你的一贯支持。今天手头有点更头疼的困难,在归纳中。等明天我按照你的方式试试,然后贴出做的结果和代码再来讨教,或许就言之有物,你们也点拨我轻松点。

再次感谢。

别太客气.... 有问题自己归纳梳理下  想不明白就来问 csdn是个不错的平台我之前初学的时候也是各位热心高手帮我渡过难关...

太客气就都觉到压力了....

解决了就好

解决了就好

在anyilaoliu的指导下,帖子中后三个的细节问题处理的都很圆满。感谢anyilaoliu的支持啊。因为一些原因,原先预计进行的删除记录的功能(帖子中的第一个问题)我没有做,所以这里也无法给出结果供大家探讨。

我是新手,不懂这里的规则,这里与anyilaoliu以及版主商量下。我有个小问题想问,超出了上面4个问题的范围,如果不应该在该帖子中问,而应该另开新帖,请大家提醒我一下,那我就立马结贴。

主要这个问题与anyilaoliu先前热情给出demon的问题很接近,所以想追问一下,不知道可否?
问题其实很简单,一个非常简单的页面分为上下两部分。上部分为一个select标签(下拉表,里面有若干选项供选择),每次选择下拉表中的一个选项,就根据这个关键词的值在数据库中搜索,然后把结果显示在这个页面的下部分。

想想应该在anyilaoliu上次给出的demon代码基础上稍加修改即可,但我没有做过,困扰我两天。

棘手,求指导啊!






解决了就好

在anyilaoliu的指导下,帖子中后三个的细节问题处理的都很圆满。感谢anyilaoliu的支持啊。因为一些原因,原先预计进行的删除记录的功能(帖子中的第一个问题)我没有做,所以这里也无法给出结果供大家探讨。

我是新手,不懂这里的规则,这里与anyilaoliu以及版主商量下。我有个小问题想问,超出了上面4个问题的范围,如果不应该在该帖子中问,而应该另开新帖,请大家提醒我一下,那我就立马结贴。

主要这个问题与anyilaoliu先前热情给出demon的问题很接近,所以想追问一下,不知道可否?
问题其实很简单,一个非常简单的页面分为上下两部分。上部分为一个select标签(下拉表,里面有若干选项供选择),每次选择下拉表中的一个选项,就根据这个关键词的值在数据库中搜索,然后把结果显示在这个页面的下部分。

想想应该在anyilaoliu上次给出的demon代码基础上稍加修改即可,但我没有做过,困扰我两天。

棘手,求指导啊!



没事 有问题就问 版主提醒你该去什么版块也是希望你能更快的找到答案.

你现在说的这个 和之前的ajax实现的其他功能并没有两样

可以拆分为以下功能点

1.选择下拉菜单的某一项时触发一个js函数,并将对应参数传入
2.js函数中使用ajax将传入的参数提交到后台查询结果,并返回结果
3.ajax中将返回的结果显示

你分析下你是哪个环节没搞定.



解决了就好

在anyilaoliu的指导下,帖子中后三个的细节问题处理的都很圆满。感谢anyilaoliu的支持啊。因为一些原因,原先预计进行的删除记录的功能(帖子中的第一个问题)我没有做,所以这里也无法给出结果供大家探讨。

我是新手,不懂这里的规则,这里与anyilaoliu以及版主商量下。我有个小问题想问,超出了上面4个问题的范围,如果不应该在该帖子中问,而应该另开新帖,请大家提醒我一下,那我就立马结贴。

主要这个问题与anyilaoliu先前热情给出demon的问题很接近,所以想追问一下,不知道可否?
问题其实很简单,一个非常简单的页面分为上下两部分。上部分为一个select标签(下拉表,里面有若干选项供选择),每次选择下拉表中的一个选项,就根据这个关键词的值在数据库中搜索,然后把结果显示在这个页面的下部分。

想想应该在anyilaoliu上次给出的demon代码基础上稍加修改即可,但我没有做过,困扰我两天。

棘手,求指导啊!



没事 有问题就问 版主提醒你该去什么版块也是希望你能更快的找到答案.

你现在说的这个 和之前的ajax实现的其他功能并没有两样

可以拆分为以下功能点

1.选择下拉菜单的某一项时触发一个js函数,并将对应参数传入
2.js函数中使用ajax将传入的参数提交到后台查询结果,并返回结果
3.ajax中将返回的结果显示

你分析下你是哪个环节没搞定.


这三个功能点分的很好。这个逻辑很清晰,后两个问题应该没有多大问题。就是第一个问题。先前基于你的demon,代码为:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script><script type="text/javascript">    $(document).ready(function(){        $(".LeftTruck").click(function(){            $(this).css("background","#A8A8A8");            $(this).siblings().css("background","white");            var n = $(this).text();            $.ajax({                type:"get",                url:"main/ajax.php",                data:{                    driverID:n                },                success:function(msg){                    msg = eval("("+msg+")");                     $(".show_2> input").val(msg.firstName);                            $(".show_3> input").val(msg.lastName);                    $(".show_4> input").val(msg.socialNum);                    $(".show_5> input").val(msg.mobile);                    $(".show_6> input").val(msg.email);                    var driverType = msg.type;                    if(driverType == 1)                    {                                $(".show_1 > input[name='type']:eq(0)").attr("checked","checked");                        $(".show_1 > input[name='type']:eq(1)").removeAttr("checked");                    }                    else                    {                                      $(".show_1 > input[name='type']:eq(1)").attr("checked","checked");                       $(".show_1 > input[name='type']:eq(0)").removeAttr("checked");                    }                                  }        });    });});    </script>
Copy after login


其中, $(".LeftTruck").click(function()恐怕得变了,因为这里没有没有click这个动作了。那应该改为什么动作?难道是select?
这一句 $(this).siblings().css("background","white");肯定也不要了,没有click动作,就没有恢复的这个设定。
后面的 $.ajax({。。。。估计差别不大,可以根据我的需求再改变。在你提醒了好几次细节情况下,现在我有点灵活应用了。
还有一个细节,页面上以及相应地html代码上,我肯定是用select+option的方式设置可选项了吧。这点没有疑问吧?

恩 那既然这样,正好你可以试试用谷哥或度娘来帮助自己解决问题

你百度下"jquery select选中",结果的第一条或者前两天就可以帮你解决这个疑问了..

你先试试 不行的话再来跟帖.

前两条,抱歉错别字

恩 那既然这样,正好你可以试试用谷哥或度娘来帮助自己解决问题

你百度下"jquery select选中",结果的第一条或者前两天就可以帮你解决这个疑问了..

你先试试 不行的话再来跟帖.

呵呵, ,汗啊。

新手,容易依赖,我找到了,是用find。
http://blog.csdn.net/Feiin/article/details/3896937
这个上面有,谢谢先。
结贴。

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template