我有一个像这样的对象:
var obj = {
age:["23"],
part:["0"],
race:[],
state:["AL"],
gender:["1"],
county:["9999"],
consent:["9999"]
};
我将此对象传递给php进行处理,但race[]
不会与其他所有内容一起传递给php。如何更改race
以便它被发送并且值为""
?
我已经使用此代码循环访问对象/数组:http://jsfiddle.net/jshado1/wLZMH/
答案 0 :(得分:2)
只是做:
if(obj.race!==undefined && obj.race.length===0){
obj.race = [""];
}
或者:
if(obj.race!==undefined && obj.race.length===0){
obj.race.push("");
}
编辑:
对于所有元素
for(var key in obj){
if(obj[key]!==undefined && obj[key].length===0){
obj[key] = [""];
}
}
答案 1 :(得分:1)
我不确定你为什么以这种方式标记它。如果您将键值对传递给PHP,那么它应如下所示:
var obj = {
age: "23",
part: "0",
race: {
"Value 1",
"Value 2"
},
state: "AL",
gender: "1",
county: "9999",
consent: "9999"
};
这样,每个值都会传递给PHP(因为它是一个字符串,尽管是空的)。