我有这个代码,它会给出一个城市下拉列表,如果被选中将为我提供该特定城市的天气。使用Yahoo API提取数据。
这是代码,
<HTML>
<HEAD>
<TITLE>Find Weather in major cities around the worl</TITLE>
<META NAME="Keywords" CONTENT="ajax, weather, api, fetch, yahoo">
<META NAME="Description" CONTENT="yahoo, weather">
<script type="text/javascript" src="jquery-1.2.6.min.js"></script>
<link rel="stylesheet" type="text/css" href="style.css" />
<SCRIPT type="text/javascript">
<!--
$(document).ready(function(){
function get_weather()
{
var p = $("#code").val();
var u = ($('#u').attr('checked')) ? '&u=c' : '';
var to_load = 'get_weather.php?p='+ p + u;
$("#weather").html('<img style="margin-top: 104px;" src="ajax-loader.gif" align="absmiddle">');
$("#weather").load(to_load);
}
$(window).load(get_weather); // Trigger "get_weather" when the window loads
// Trigger "get_weather" when the form objects are used
$("#code").change(get_weather);
$("#u").click(get_weather);
});
//-->
</SCRIPT>
</HEAD>
<BODY>
<A target="_blank" HREF=""></A>
<center>
<div align="center">
<h2 align="center">Find World Weather</h2>
<form>
Get Weather for: <select id="code" name="code">
<option value="AFXX0001">Ghurian</option>
<option value="AFXX0002">Herat</option>
<option value="UKXX0687">Buckingham, United Kingdom</option>
<option value="ASXX0001">Adelaide, Australia</option>
</select>
<input type="checkbox" id="u" name="u" value="c"> Change to degrees Celsius
</form>
<div id="weather"></div>
</div>
</center>
</BODY>
</HTML>
但我需要的是下拉列表中的搜索框,当我进入城市时,我应该获得该地方的天气信息。我是初学者,所以请这样对待我,让你的所有答案都复杂化。非常感谢。
答案 0 :(得分:0)
我认为您可能会对此感到困惑,因为您需要知道雅虎每个位置的WOEID。根据事物的外观,没有简单的方法以编程方式得到这个。在我看来,你最好使用另一种气象服务,即 http://api.openweathermap.org/data/2.5/weather?q=Birmingham,uk
看起来他们自己会对地址进行一些地理编码,但您可以随时将Google地理编码API与此服务结合使用。