Javascript 警报值与输入值相关的对象的属性
我无法提醒与区域标记id对应的对象值 我的密码是Javascript 警报值与输入值相关的对象的属性,javascript,jquery,Javascript,Jquery,我无法提醒与区域标记id对应的对象值 我的密码是 $(document).ready(function () { $(".wholecirclewrapper area").click(function(){ if($(this).hasClass("active")) { return false; }
$(document).ready(function () {
$(".wholecirclewrapper area").click(function(){
if($(this).hasClass("active")) {
return false;
}
var choice = $(this).attr("id");
$.each(results.States, function(i, item) {
var st=results.States[i].Name;
if(choice==st)
{
alert(results.States[i].ISHI);
}
});
});
});
我的Html代码是
<div id="mapdiv">
<img src="india.gif" alt="India" usemap="#indiamap" />
<map name="indiamap" class="wholecirclewrapper">
<area class="specificshelfdiv1" id="AndraPradesh" shape="rect" coords="0,0,82,126" href="#" />
<area class="specificshelfdiv2" id="ArunachalPradesh" shape="circle" coords="90,58,3" href="#" />
<area class="specificshelfdiv3" id="Assam" shape="circle" coords="124,58,8" href="#" />
</map>
</div>
我打电话给你
<script src="json_states.json" type="text/javascript"> </script>
我做错了什么?首先,尝试用控制台.log替换警报
console.log(results.States[i].ISHI);
然后在Chrome press F12中,转到Console,查看是否打印了值。
根据经验,始终使用console.log而不是alert,因为它更强大,更易于使用
更新:
尝试在文档头中按以下顺序加载脚本:
<script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script src="json_states.json"></script>
<script>
$(document).ready(function () {
...
</script>
$(文档).ready(函数(){
...
还可以看到我写的这个例子:首先,尝试用console.log替换alert
console.log(results.States[i].ISHI);
然后在Chrome press F12中,转到Console,查看是否打印了值。
根据经验,始终使用console.log而不是alert,因为它更强大,更易于使用
更新:
尝试在文档头中按以下顺序加载脚本:
<script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script src="json_states.json"></script>
<script>
$(document).ready(function () {
...
</script>
$(文档).ready(函数(){
...
另请参见我编写的示例:您的代码似乎在这里工作。我正在添加另一个元素
,而不是警报,我正在设置此元素的.text()
,这很好。请尝试此方法,而不是警报,然后看看您得到了什么
$(".wholecirclewrapper area").click(function() {
if ($(this).hasClass("active")) {
return false;
}
var choice = $(this).attr("id");
$.each(results.States, function(i, item) {
var st = results.States[i].Name;
if (choice == st) {
$("#result").text(results.States[i].ISHI);
}
});
});
您是否正在使用某种弹出窗口阻止程序,因为它们会阻止某些脚本执行。如果没有,我建议您在浏览器调试环境中检查脚本错误
编辑-如果您从外部文件加载json,而不是将其包含在标题中,您是否尝试过这样加载它:
$.getJSON('json_states.json', function(data) {
var results = data;
// do the rest of your script here
});
您的代码似乎在这里工作。我正在添加另一个元素
,我正在设置此元素的.text()
,这很好。请尝试此方法而不是alert
,看看您得到了什么
$(".wholecirclewrapper area").click(function() {
if ($(this).hasClass("active")) {
return false;
}
var choice = $(this).attr("id");
$.each(results.States, function(i, item) {
var st = results.States[i].Name;
if (choice == st) {
$("#result").text(results.States[i].ISHI);
}
});
});
您是否正在使用某种弹出窗口阻止程序,因为它们会阻止某些脚本执行。如果没有,我建议您在浏览器调试环境中检查脚本错误
编辑-如果您从外部文件加载json,而不是将其包含在标题中,您是否尝试过这样加载它:
$.getJSON('json_states.json', function(data) {
var results = data;
// do the rest of your script here
});
它已经说了3次了,但既然你似乎忽视了它,或者不理解它,我会再发一次
var results={"States":[
{ "Name" : "AndraPradesh" , "ISHI" : "19.5 (Serious)" ,"Literacy rate" : "67.7" ,"Population rate" : "84,665,533" ,"NFHS" : "29.8" ,"Tap water" : "69.9"},
{ "Name" : "ArunachalPradesh" , "ISHI" : "Not estimated" ,"Literacy rate" : "67" ,"Population rate" : "1,382,611" ,"NFHS" : "29.6" ,"Tap water" : "65.5"},
{ "Name" : "Assam" , "ISHI" : "19.8 (Serious)" ,"Literacy rate" : "73.2" ,"Population rate" : "31,169,272" ,"NFHS" : "35.8" ,"Tap water" : "10.5"}
]
};
不是JSON。它是一个Javascript对象
JSON就是这样:
{"States":[
{ "Name" : "AndraPradesh" , "ISHI" : "19.5 (Serious)" ,"Literacy rate" : "67.7" ,"Population rate" : "84,665,533" ,"NFHS" : "29.8" ,"Tap water" : "69.9"},
{ "Name" : "ArunachalPradesh" , "ISHI" : "Not estimated" ,"Literacy rate" : "67" ,"Population rate" : "1,382,611" ,"NFHS" : "29.6" ,"Tap water" : "65.5"},
{ "Name" : "Assam" , "ISHI" : "19.8 (Serious)" ,"Literacy rate" : "73.2" ,"Population rate" : "31,169,272" ,"NFHS" : "35.8" ,"Tap water" : "10.5"}
]}
我不确定.json文件扩展名是否会导致任何浏览器出现问题,但是如果您在文件中定义了一个变量,它应该是.js…因为它就是这样。已经说过3次了,但是由于您似乎忽略了它,或者不理解它,我将再次发布它
var results={"States":[
{ "Name" : "AndraPradesh" , "ISHI" : "19.5 (Serious)" ,"Literacy rate" : "67.7" ,"Population rate" : "84,665,533" ,"NFHS" : "29.8" ,"Tap water" : "69.9"},
{ "Name" : "ArunachalPradesh" , "ISHI" : "Not estimated" ,"Literacy rate" : "67" ,"Population rate" : "1,382,611" ,"NFHS" : "29.6" ,"Tap water" : "65.5"},
{ "Name" : "Assam" , "ISHI" : "19.8 (Serious)" ,"Literacy rate" : "73.2" ,"Population rate" : "31,169,272" ,"NFHS" : "35.8" ,"Tap water" : "10.5"}
]
};
不是JSON。它是一个Javascript对象
JSON就是这样:
{"States":[
{ "Name" : "AndraPradesh" , "ISHI" : "19.5 (Serious)" ,"Literacy rate" : "67.7" ,"Population rate" : "84,665,533" ,"NFHS" : "29.8" ,"Tap water" : "69.9"},
{ "Name" : "ArunachalPradesh" , "ISHI" : "Not estimated" ,"Literacy rate" : "67" ,"Population rate" : "1,382,611" ,"NFHS" : "29.6" ,"Tap water" : "65.5"},
{ "Name" : "Assam" , "ISHI" : "19.8 (Serious)" ,"Literacy rate" : "73.2" ,"Population rate" : "31,169,272" ,"NFHS" : "35.8" ,"Tap water" : "10.5"}
]}
我不确定.json文件扩展名是否会导致任何浏览器出现问题,但如果您在文件中定义变量,它应该是.js…因为它就是这样。这不是json,这是一个JavaScript对象。请进行一些基本调试。检查选项和结果。状态[i].Name
是。我运行了脚本,它对我有效,我认为结果在您的示例中没有正确定义这是外部json文件。json_states.json…我称它为“为您工作”?这很奇怪。它有效可能是因为您认为它是javascript对象。但它不是。这不是json,这是一个javascript对象。进行一些基本调试。在spect什么选择
和结果。状态[i].Name
是。我运行了脚本,它对我有效,我认为结果在您的示例中没有正确定义这是外部json文件。json_states.json…我称它为“为您工作”?这很奇怪。它有效可能是因为您认为它是javascript obj。但不好,可能是OP在她的示例中禁用了警报browser@ValentinRădulescu am使用相同的order@ErmaIsabel我已经上传了一个例子到我的服务器上,它在Chrome上运行得非常好。试着运行好它,可能是OP已经禁用了她的警报browser@ValentinRădulescu am使用相同的order@ErmaIsabel我已经上传了一个例子到我的服务器上,它在Chrome上运行得非常好。试着运行它谢谢你…但是它不是一个javascript对象。我正在调用一个外部json文件,我尝试了,但是na…得到了以下错误-XMLHttpRequest无法加载file:///D:/***/json_states.json。访问控制允许源代码不允许源代码为null。@ErmaIsabel:这是一个跨域问题(如果您的网站试图从您的D:drive调用json,这是应该的),可以将json文件移动到与执行代码相同的位置吗?它位于同一文件夹位置。我不知道代码为什么给出这样一个error@terric..谢谢…我得到了输出谢谢…但它不是一个javascript对象。我正在调用一个外部json文件,我尝试了,但是na…得到了以下错误-XMLHttpRequest无法负载file:///D:/***/json_states.json。访问控制允许源代码不允许源代码为null。@ErmaIsabel:这是一个跨域问题(如果您的网站试图从您的D:drive调用json,这是应该的),可以将json文件移动到与执行代码相同的位置吗?它位于同一文件夹位置。我不知道代码为什么给出这样一个error@terric..谢谢你…我拿到输出了