jQuery值未按预期从ipinfo分配
jQuery value not getting assigned from ipinfo when expected
我使用的是:
//function to obtain current location, this is used to display relevant contact information
$.get("http://ipinfo.io", function(response){
$("#address").html(response.region);//http://jsfiddle.net/zK5FN/2/
$("input[id=address]").val(response.region);
}, "jsonp");
以获取我的联系人页面的当前位置。目的是我可以使用if地址==来显示各种联系电话等
此函数用于更新隐藏字段的值。我已经检查了调试器,它运行良好。
然后我想得到这个值,这样我就可以玩了,但它总是空白或空的。
我有
$(document).ready(function(){
var testLoc = $('#address').val();
if(testLoc == ""){
alert("NOES!!!");
}
});
我目前已经将其放置在头部的同一脚本块中,以查看结果是否不同,同样,它始终为空,并且始终返回NOES警报。
我想,通过等待文档加载,我可以确定这些值会被分配/设置。
有人能提出解决方案吗?我确信有一个简单的解决方案,它正在杀死我
编辑:HTML
<input type="hidden" name="address" id="address"/>
使用解决方案编辑:
<script>
$(function() {
$.ajax({url:"http://ipinfo.io",dataType:'jsonp'})
.success(function(response){
$("#address").val(response.region);
$("input[id=address]").val(response.region);
var testLoc = $('#address').val();
if(testLoc == ""){
alert("NOES!!!");
}else{
alert("jQuery can suck my...")
}
});
});
</script>
我建议将$.get
请求放入document.ready函数中。
请注意,一旦DOM准备好,就会调用ready函数,因此即使AJAX在此之前返回,您正在填充值的元素也可能还没有准备好。
$(function() { // this is shorthand for $(document).ready(
$.get({url"http://ipinfo.io",dataType:'jsonp'})
succsss(function(response){
// do something with response
});
});
Fiddle:http://jsfiddle.net/v6DBB/
在get()返回后才能检查地址:
$(document).ready(function () {
$.get("http://ipinfo.io", function (response) {
$("#address").html(response.region); //http://jsfiddle.net/zK5FN/2/
$("input[id=address]").val(response.region);
var testLoc = $('#address').val();
if (testLoc == "") {
alert("NOES!!!");
}
}, "jsonp");
});
也就是说,当我运行这个时,response.region为null,所以我仍然得到警报。
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 在循环中分配json值时,值被覆盖
- 动态分配GA增强型电子商务跟踪器
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 如何在jQuery中将函数的输出分配给变量
- 为集合分配大量的模型弹药
- onclick函数需要双击,因为类分配延迟
- Javascript 将变量分配给警报
- 将节点数据分配给另一个变量jstree
- 如何发送分配列表<字符串>到JavaScript数组或可枚举对象
- Javascript变量分配-按类别
- 如何将内容分配给元素
- 为变量分配多个nodejs导出返回值时出现问题
- Jslint 错误:需要条件表达式,而是看到分配
- 为什么可以't我将检索到的文档分配给控制台中的变量
- 将数组的拼接分配给自身时,Javascript控制台打印不起作用
- 为什么当CRLF被分配到<输入>使用php
- 在Javascript中重新分配对象变量时,原始对象会发生什么
- 为什么可以't我跳过函数签名中的参数分配
- jQuery值未按预期从ipinfo分配