添加 ShowHotels 链接
只有当用户提供目的地机场时,才应该显示 Show Nearby Hotels 超级链接。同样,只有确认用户真正想看到一个宾馆列表时,才应该发出远程请求。因此,首先将 showHotelsLink() 函数添加到 plan.gsp 中的脚本块中。另外,将一个对 showHotelsLink() 的调用添加到 addAirport() 的最后一行,如清单 16 所示:
清单 16. 实现 showHotelsLink()
function addAirport(response, position) {
...
drawLine()
showHotelsLink()
}
function showHotelsLink(){
if(airportMarkers[1] != null){
var hotels_link = document.getElementById("hotels_link")
hotels_link.innerHTML = "<a href='#' onClick='loadHotels()'>Show Nearby Hotels...</a>"
}
}
...
drawLine()
showHotelsLink()
}
function showHotelsLink(){
if(airportMarkers[1] != null){
var hotels_link = document.getElementById("hotels_link")
hotels_link.innerHTML = "<a href='#' onClick='loadHotels()'>Show Nearby Hotels...</a>"
}
}
Grails 提供了一个
您可能注意到对 document.getElementById("hotels_link") 的调用。将一个新的添加到 search的底端,如清单 17 所示:
清单 17. 添加 hotels_link <div>
<div id="search" style="width:25%; float:left">
<h1>Where to?</h1>
<g:formRemote name="from_form" ... >
<g:formRemote name="to_form" ...>
<div id="hotels_link"></div>
</div>
<h1>Where to?</h1>
<g:formRemote name="from_form" ... >
<g:formRemote name="to_form" ...>
<div id="hotels_link"></div>
</div>
现在,需要创建 loadHotels() 函数。
刷新浏览器,确认在提供一个目的地机场之后会显示超级链接,如图 6 所示: