Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 警报值与输入值相关的对象的属性_Javascript_Jquery - Fatal编程技术网

Javascript 警报值与输入值相关的对象的属性

Javascript 警报值与输入值相关的对象的属性,javascript,jquery,Javascript,Jquery,我无法提醒与区域标记id对应的对象值 我的密码是 $(document).ready(function () { $(".wholecirclewrapper area").click(function(){ if($(this).hasClass("active")) { return false; }

我无法提醒与区域标记id对应的对象值

我的密码是

          $(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..谢谢你…我拿到输出了