Re: [問題] JQuery 的 get功能傳值
※ 引述《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
01/04 20:29, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章
33
68