作者kay1212 (Kay)
看板Ajax
标题[问题] 关於使用jQuery $.POST 取资料的问题
时间Thu Apr 19 10:19:58 2012
先说明动作跟回应
当我按了某个按钮触发了一个$.POST
而这个$.POST会从DB取回一段HTML码(data)
并将这段程式码丢到ckeditor里面
code:
$("#btn").click(function(){
$.post("sqlexec.php",
{
do_type :"gethtml"
},
function(data){
$("#ckarea").val(data);
});
});
而假设,该HTML码里面有三个div区块
我希望在$.POST取回这段HTML码之後
将其中一个DIV以另外的资料换掉 <--- 这一步我卡关
(可以想成data里面的某个DIV不需要了,想对他修改或移除)
然後再塞到ckeditor里面
不知道有什麽方法比较好呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.120.15.176
1F:推 CaptainH:$(....).html(data) ;y 04/19 10:57
2F:→ kay1212:这样子是单纯的把data塞到某个指定的容器吧? @@ 04/19 11:06
3F:→ kay1212:还是有什麽另外的功用我没有注意到的 04/19 11:06
4F:→ CaptainH:我大概误解你的意思 04/19 11:08
5F:→ CaptainH:"将其中一个DIV以另外的资料换掉" ?? 04/19 11:09
6F:→ CaptainH:是指data里面的某个div吗 @@ 04/19 11:09
7F:→ kay1212:是的~ 就是这个意思 04/19 11:20
8F:推 akiratw:$(data) 转成jQuery物件再操作 04/19 11:44
我有找到这个方法,不过现在变成不太清楚要怎麽操作这个物件
假设我要找到里面某个id=div3的div, 要怎麽下指令呢
9F:推 akiratw:跟平常一样啊 $(data).find('#div3') 04/19 12:12
10F:→ kay1212:感谢,我试试看 04/19 12:42
我使用了 $(data).find('#div3').html(); 可以取出html资料
不过没有办法使用 $(data).find('#div3').html('xxxx') 将值放进去说 Orz
11F:推 kerash:ckeditor 印象中应该有专门塞值的 function ? 04/19 13:35
有的,ckeditor有jquery adapter可以引用来塞值
不过我的问题点不在於塞值进ckeditor,而是要把query回来的html修改後再塞进去
是修改那个环节的问题
12F:→ superpai:jQ语法就是这样没错,应该是ckeditor从中搞鬼 04/19 13:36
其实是还没有走到塞值进ckeditor的部份,把步骤分开来看好了
1.用$.POST 去DB query 出一段html (data)
2.修改data里面的某些部分 (div)
3.塞进ckeditor
1.3都OK,我是在2这边卡关
13F:→ kay1212:继续卡关中..呜 04/19 14:30
14F:推 kerash:我会错意了,原来是修改内容的值不是ckeditor的 囧 04/19 14:40
15F:→ kerash:data 的资料可能长怎样? 丢出来可能会有帮助一点 04/19 14:41
其实捞回来的data就是一个完整的html档案的原始码
里面有许多的html该有的标签,<head> <title> <body> 这些标签都有
而其中有一个<div>区块的内容我想把他换掉
※ 编辑: kay1212 来自: 140.120.15.176 (04/19 14:45)
16F:推 akiratw:对了,你的 $(data) 要先存成变数。var $data = $(data) 04/19 15:18
17F:→ akiratw:不然每次呼叫 $(data) 都会重新产生一个 jquery 物件 04/19 15:18
18F:→ akiratw:这样当然怎麽改都没用XD 04/19 15:18
19F:→ kay1212:收到! 我晚点TRY看看 >< 04/20 13:55