使用复选框值填充数组然后加入这些元素我需要在连接元素周围放置括号以执行Google地方类型请求。
这些是复选框:
<form id= "checkboxes">
<label> Types of Places</label>
<link rel="stylesheet" type="text/css" href="css/style.css">
<input type="checkbox" name="cbox" value="woodland" class="places"/>
<label for="woodland"><img src="../img/Woodland.jpg" /></label>
<input type="checkbox" name="cbox" value="lodging" class="places"/>
<label for="viewpoint"><img src="../img/Viewpoint.jpg" /></label>
<input type="checkbox" name="cbox" value="restaurant" class="places"/>
<label for="restaurant"><img src="../img/Restaurant.jpg" /></label>
<input type="checkbox" name="cbox" value="museum" class="places" />
<label for="historical"><img src="../img/Historical.jpg" /></label>
</form>
</form>
这是将复选框值输入数组的代码:
$(".places").change(function()
{
placeT = [];
$(".places").each(function()
{
if( $(this).is(':checked') )
{
placeT.push($(this).val());
}
});
alert( placeT );
});
这是用于加入元素和执行地点搜索的JavaScript:
function findPlaces(boxes,searchIndex) {
var typeP = placeT.join('", "');
var request = {
bounds: boxes[searchIndex],
types: typeP
};
//alert(request.bounds);
service.radarSearch(request, function (results, status) {
if (status != google.maps.places.PlacesServiceStatus.OK) {
alert("Request["+searchIndex+"] failed: "+status);
}
// alert(results.length);
document.getElementById('side_bar').innerHTML += "bounds["+searchIndex+"] returns "+results.length+" results<br>"
for (var i = 0, result; result = results[i]; i++) {
var marker = createMarker(result);
}
searchIndex++;
if (searchIndex < boxes.length)
findPlaces(boxes,searchIndex);
});
}
请求中types
的最终格式需要是[“博物馆”,“餐馆”]。搜索工作正常types: ["museum", "restaurant"]
,但我似乎无法在typeP
结果周围放置括号。非常感谢任何帮助!
答案 0 :(得分:0)
只需传递数组:var request = {bounds:boxes [searchIndex],types:placeT};不使用join()