0
我有一個三個dropdownlists國家,城市和地區,初始空白選定值和一個HTML頁面上的谷歌地圖。我試圖在用戶從下拉列表中選擇位置值時居中放大地圖。Javascript/ASP.net在下拉列表更改後觸發事件
因此,這裏是我面臨的一個問題的情形:
- 用戶選擇一個國家形成全國下拉列表。
- 我必須檢索下拉列表更改後選定的值。
- 火更新谷歌地圖
的事件中,我試圖用平變化和更改JavaScript事件,但既造成從下拉列表檢索的文本價值是文本的情況下,前值發送一個空文本(最初的空白文本)到谷歌地圖。
那麼,如何在下拉列表發生更改後觸發事件?
這裏是我的代碼:
<asp:DropDownList ID="DropDownList_Country" runat="server" Height="29px" Width="209px"
Font-Size="18px" CausesValidation="false" onchange="MapLocationUpdater();">
function MapLocationUpdater() {
var address = getDropdownListAddress();
geocoder.geocode({ 'address': address },
function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
map.setZoom(11);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
}
else {
alert("Geocode was not successful for the following reason: " + status);
}
}
);
}
function getDropdownListAddress() {
var ddlCountry = document.getElementById("<%=DropDownList_Country.ClientID%>");
var ddlCity = document.getElementById("<%=DropDownList_City.ClientID%>");
var ddlDistrict = document.getElementById("<%=DropDownList_District.ClientID%>");
var CountryTxt = ddlCountry.options[ddlCountry.selectedIndex].text;
var CityTxt = ddlCity.options[ddlCity.selectedIndex].text;
var DistrictTxt = ddlDistrict.options[ddlDistrict.selectedIndex].text;
return CountryTxt + " " + CityTxt + " " + DistrictTxt;
}
非常有趣的黑客。作品篦! – Eyad