作者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