作者sk1765 (鼎玉铉)
看板Ajax
标题Re: [问题] JQuery 的 get功能传值
时间Mon Jan 3 22:53:42 2011
※ 引述《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
1F:→ TonyQ:你这样写应该没问题 01/04 09:12
2F:→ averywu:好深奥@@回去试试,感谢!偷偷请教,物件实字的意思是? 01/04 20:19
3F:→ s25g5d4:{} 与 [] 01/04 20:26