javascript - 希望将 jquery 变量从表单更新为函数
问题描述
我在这里看到了很多像我这样的问题,但没有一个答案对我有用,而且我的 JS 低于标准。
我正在使用 SimpleWeather.js,我想做的就是创建一个表单字段来更新邮政编码。我可以从表单中获取 zip 变量,但无法获取它来更新 getWeather() 函数并因此更新天气。
提前致谢!
这是代码的重要部分。
HTML
<form>
<input id="zip" type="text" name="zip">
</form>
JS
$(document).ready(function() {
getWeather();
setInterval(getWeather, 600000);
});
var zip = "90001";
$('#zip').on("change", function(e) {
e.preventDefault();
var zip = $("#zip").val();
getWeather();
});
function getWeather() {
$.simpleWeather({
location: zip,
woeid: '',
unit: 'f',
success: function(weather) {
...
解决方案
你有几个小错误......你定义了zip
两次变量。你只需要定义一次,否则它会一直停留在90001
. 在您的 CodePen 中,您getWeather()
在抓住拉链后没有打电话。最后,您要设置提交按钮以type="button"
防止表单以经典的 HTML 方式提交:
var zip = "90001";
$('#zip').on("change", function(e) {
e.preventDefault();
//var zip = $("#zip").val();
zip = $("#zip").val();
getWeather();
});
<input type="button" id="setZip" name="setZip" value="Set Zip"/>
推荐阅读
- php - PHP小数点和是可能的
- sql-server - 如何在一个连接下查看特定服务器的所有数据库?
- c++ - 我应该如何使用 remove_if 删除两个数字范围内的元素
- android - 网络原生模块 android 在处理 android studio 程序时无法在 react-native progam for android 中工作
- strategy-pattern - 基于其他策略的实施策略模式
- javascript - 如何使用 GTM 自定义模板进行 dataLayer.push?
- facebook - 如何通过facebook每次登录选择帐户
- codeigniter - 登录注册并验证电子邮件(gmail)codeigniter
- python - 在numpy数组中查找特定序列的位置
- java - 如何在我们使用 springboot 的 Rest API 应用程序中将域或 IP 地址列入白名单?