我试图使用谷歌地图API,我被困在这里:
waypts
),其中包含特定格式的某些值。waypts
变量中的值只返回" OBJECT"作为它的价值。 使用jQuery和javascript(核心)
代码:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$('document').ready(function(){
var waypts = [];
var temp = $('input.boom').map(function(){
return $(this).val();
});
for (var i=0;i<temp.length;i++){
waypts.push({
location:temp[i].value,
stopover:true
});
}
alert(waypts);
});
</script>
</head>
<body>
<input type="text" class="boom" value="boom1"><br>
<input type="text" class="boom" value="boom2"><br>
<input type="text" class="boom" value="boom3"><br>
<input type="text" class="boom" value="boom4"><br>
</body>
</html>
答案 0 :(得分:3)
在您当前的代码中,waypts
将是一个对象数组,每个对象都具有location
属性和stopover
属性。
您可以将代码更改为以下内容以使其更清晰;
var waypts = $('input.boom').map(function(){
return {
location: $(this).val(),
stopover: true
};
}).get();
// waypts is now an array of objects with `location` and `stopover` attributes.
// you can see what each value is by alerting `waypts[i].location` and `waypts[i].stopover`.
答案 1 :(得分:2)
您需要提醒数组的属性
尝试提醒路标[0] .location
要显示对象数组的所有项,请执行以下操作:
var output="";
for (var o in waypts) {
if (waypts.hasOwnProperty(o) {
output += "\n"+o+":"+waypts[o].location + '-' + waypts[o].stopover;
}
}
alert(output)
或标准数组(就像我读到你的问题时那样)
var output="";
for (var i=0, n=waypts.length;i<n;i++) {
output += "\n"+i+":"+waypts[i].location + '-' + waypts[i].stopover;
}
alert(output)
或使用jQuery
var output="";
$.each(waypts, function(i,item) {
output+= i+':'+item.location+'-'+item.stopover;
});
alert(output)
答案 2 :(得分:1)
waypts
数组中的每个元素都是一个对象 - 您需要单独引用对象中的每个值。尝试用此替换alert(waypts)
以查看数组中的所有数据:
for (var i = 0; i <= waypts.length; i++) {
alert(waypts[i].location);
alert(waypts[i].stopover);
}
答案 3 :(得分:0)
当你说
时waypts.push({
location:temp[i].value,
stopover:true
});
您正在将新的文字对象(包含在{}
中)推送到waypts
。
因此,您要将新项目添加到这些位置/中途停留对象的数组中。
要实际引用location
或stopover
值,您需要首先使用waypts
索引[]
(例如waypts[0]
将指向第一个此类对象)。其次,您需要引用所需的属性,location
或stopover
。您可以使用标准的“点表示法”执行此操作。例如,waypts[0].location
会为您提供waypts
数组中第一项的位置值。