Re: [問題] JQuery 的 get功能傳值

看板Ajax作者 (鼎玉鉉)時間14年前 (2011/01/03 22:53), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《averywu (看文不要只會用橫的看)》之銘言: : JQuery 的 get() 實在好用,所以用的還蠻多的。 : 但是今天遇到一個問題。 : 如何傳陣列? : $.get("123.php",{ : var1 : 1; : var2 : 2; : },function(data){ : mydiv(data) : }) : 上面是沒問題的,但如果把var1跟var2改成 var[1] 跟 var[2] 就死掉了。 : 我表單會有不確定多少個CHECKBOX,原想寫成 : var target = $(':checkbox'); : $.get("123.php",{ : for(var i=0;i<target.length;i++){ : myvar[i] = true; : } : },function(data){ : mydiv(data) : }) : 但會語法錯誤,把迴圈放外面,然後把值弄成字串加在一起送也會錯誤。 : 又不太想把值直接接在URL後面(沒什麼原因,單純覺得破壞美感XD) : 該怎麼搞這問題呢? { var1 : 1; var2 : 2; } 是一個物件實字(Object literals) 而且中間應該是逗號吧 最後一個後面不加逗號 應該是 { var1 : 1, var2 : 2 } 如果寫成 myvar = { "var1" : 1, "var2" : 2 } 可以直接用關聯式陣列(Associative arrays) 操作 myvar["var1"] = 1; myvar["var2"] = 2; 這代表的是一個myvar物件 內容包括 myvar.var1=1; myvar.var2=2; {} 不是代表執行區塊 所以 { for(var i=0;i<target.length;i++){ myvar[i] = true; } 一定會錯 因為要傳入的是一個物件 以下請參考 沒玩過jQuery 若失敗請見諒 --------------------------------------------- var myvar = {}; //先建立一個空的物件實字 var target = $(':checkbox'); for(var i=0;i<target.length;i++){ myvar['var' + i] = true; //替物件實字塞值 } //傳入物件實字 $.get("123.php",myvar,function(data){ mydiv(data) }) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.74.226.117

01/04 09:12, , 1F
你這樣寫應該沒問題
01/04 09:12, 1F

01/04 20:19, , 2F
好深奧@@回去試試,感謝!偷偷請教,物件實字的意思是?
01/04 20:19, 2F

01/04 20:26, , 3F
{} 與 []
01/04 20:26, 3F

01/04 20:29, , 4F
http://blog.beyes.tw/324 這篇應該講的還蠻簡單的
01/04 20:29, 4F
文章代碼(AID): #1D8UBuO- (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1D8UBuO- (Ajax)