我写的代码中,我显示从数据库这里的数据是我的代码:呼吁从表中的每个输出的onclick功能,无需每次都刷新
while ($resords = $sth->fetchAll()) {
foreach ($resords as $value) {
$sqno = $value["sqno"];
$name = $value ["name"];
$address = $value["address"];
$list .= ' <div class="wrapper">
<div class="content-main">
<a onclick="calculateRoute()" id="destination" style="text-decoration: none"><h3><strong >' . $name . '</a> </strong></h3>
<br></div>
<div class="content-secondary"> ' . $address . '</div>
</div><hr>';
}
它显示我正确的数据的列表,但是当我点击链接我没有得到正确的数据我的意思是,当我从其他地方的按钮调用时得到正确的路线时,它并不显示我想要的正确路线。
这里是我的calculateRoute()..
function calculateRoute() {
var start = document.getElementById('start').value;
var destination = document.getElementById('destination').value;
if (start == '') {
start = center;
}
var request = {
origin: start,
destination: destination,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
}
,这是什么地方在我的代码
var selectBox = document.getElementById('destination');
addOption(selectBox, data[i]['name'], data[i]['address']);
function addOption(selectBox, text, value) {
var option = document.createElement("OPTION");
option.text = text;
option.value = value;
selectBox.options.add(option);
}
它做得很好,当我从下拉菜单中选择任何元素一样
<label for="start">Location : </label>
<input type="text" class="form-control" id="start" >
<label for="destination">Destination : </label>
<select class="form-control" id="destination" onchange="calculateRoute();"></select>
<div class="pull-right">
<input class="btn btn-primary" type="button" value="Display Directions" style="margin-top: 20px" onclick="calculateRoute();">
</div>
但我想这个calculateRoute()函数从我的php代码中调用,我从表中填充。我想让每个表格元素成为一个链接,当它点击时它应该显示方向框。
你能告诉我们'calculateRoute()'的代码吗?我用嵌入JS有点生疏,但是你需要用分号终止那个呼叫吗?再加上你的结束标签为''a'需要移过你的结束标签'h3'和'strong'。 –
是否正确的循环依赖于地址?我假设你通过一系列数据处于某种循环中(while或for)。然后你需要给js函数一个线索,你从哪里调用它。 like'calculateRoute('“。$ address。”')“' – Jeff
我已更新我的问题 – user3679536