日期:2014-05-17  浏览次数:20392 次

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

引用 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,把该文件返回的信息插入<input>的value中,比如 
<input type="text" class="Vtextbox" name="firstname" value=""> 
这个应该怎么操作呢?

3.前贴中说到, anyilaoliu说到“给你写的td.html(xxx) 并不是一定要死板的这么写 你td里边有内容 就随之变化”,意思其实是不仅td可以用,像<p><div><tr>都可以这样用是么?是不是对于上述类型都是标注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>可以用$("p")来选定. 如果这个<p>有个class,比如<p class="abc"></p> 可以用$("p.abc")来定位也可以用$(".abc")来定位. 如果这个p还有个id
比如<p id="bcd" class="abc"></p> 可以用$(".abc")来定位也可以用$("#bcd")来定位.
总之常规标签直接在引号里边写,class就加点,id就加#,跟CSS的选择器规则相同 $("p.abc")则表示 class为abc的p标记,$(".abc")表示class为abc的任意标记

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


求指正.