Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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从JSON中提供所选信息 [ {“id”:“1”,“firstName”:“John”,“lastName”:“Doe”,“role”:“engineer”,“age”:“25”}, {“id”:“2”,“firstName”:“Jax”,“lastName”:“Ali”,“role”:“Software engineer”,“age”:“35”}, {“id”:“3”,“firstName”:“Suz”,“lastName”:“Ibra”,“role”:“Developer”,“age”:“23”}, {“id”:“4”,“firstName”:“Alia”,“lastName”:“Arnold”,“role”:“UX Designer”,“age”:“28”}, {“id”:“5”,“firstName”:“Jack”,“lastName”:“Jones”,“role”:“Programmer”,“age”:“37”} ] 试验侧 window.onload=oppstart; var laster//xmlhttp 风险人; 函数oppstart(){ laster=newXMLHttpRequest(); var filnavn=“data.json”+”?id=“+Math.random(); //警报(filnavn); laster.open(“GET”,filnavn,true); laster.onreadystatechange=ferdiglaset; laster.send(); } 函数ferdigLastet(){ if(laster.readyState==4&&laster.status==200){ person=JSON.parse(laster.responseText); 对于(变量i=0;i“”+s.firstName+“”)。加入(“”); selectBox.addEventListener(“更改”,函数(){ var data=JSON.parse(this.value); document.getElementById(“utskrift”).innerHTML=Object.keys(数据).map(函数(键){ 返回“+键+”-“+数据[键]+” }).加入(“”); }) _Javascript_Json_Loops_Option - Fatal编程技术网

如何告诉javascript从JSON中提供所选信息 [ {“id”:“1”,“firstName”:“John”,“lastName”:“Doe”,“role”:“engineer”,“age”:“25”}, {“id”:“2”,“firstName”:“Jax”,“lastName”:“Ali”,“role”:“Software engineer”,“age”:“35”}, {“id”:“3”,“firstName”:“Suz”,“lastName”:“Ibra”,“role”:“Developer”,“age”:“23”}, {“id”:“4”,“firstName”:“Alia”,“lastName”:“Arnold”,“role”:“UX Designer”,“age”:“28”}, {“id”:“5”,“firstName”:“Jack”,“lastName”:“Jones”,“role”:“Programmer”,“age”:“37”} ] 试验侧 window.onload=oppstart; var laster//xmlhttp 风险人; 函数oppstart(){ laster=newXMLHttpRequest(); var filnavn=“data.json”+”?id=“+Math.random(); //警报(filnavn); laster.open(“GET”,filnavn,true); laster.onreadystatechange=ferdiglaset; laster.send(); } 函数ferdigLastet(){ if(laster.readyState==4&&laster.status==200){ person=JSON.parse(laster.responseText); 对于(变量i=0;i“”+s.firstName+“”)。加入(“”); selectBox.addEventListener(“更改”,函数(){ var data=JSON.parse(this.value); document.getElementById(“utskrift”).innerHTML=Object.keys(数据).map(函数(键){ 返回“+键+”-“+数据[键]+” }).加入(“”); })

如何告诉javascript从JSON中提供所选信息 [ {“id”:“1”,“firstName”:“John”,“lastName”:“Doe”,“role”:“engineer”,“age”:“25”}, {“id”:“2”,“firstName”:“Jax”,“lastName”:“Ali”,“role”:“Software engineer”,“age”:“35”}, {“id”:“3”,“firstName”:“Suz”,“lastName”:“Ibra”,“role”:“Developer”,“age”:“23”}, {“id”:“4”,“firstName”:“Alia”,“lastName”:“Arnold”,“role”:“UX Designer”,“age”:“28”}, {“id”:“5”,“firstName”:“Jack”,“lastName”:“Jones”,“role”:“Programmer”,“age”:“37”} ] 试验侧 window.onload=oppstart; var laster//xmlhttp 风险人; 函数oppstart(){ laster=newXMLHttpRequest(); var filnavn=“data.json”+”?id=“+Math.random(); //警报(filnavn); laster.open(“GET”,filnavn,true); laster.onreadystatechange=ferdiglaset; laster.send(); } 函数ferdigLastet(){ if(laster.readyState==4&&laster.status==200){ person=JSON.parse(laster.responseText); 对于(变量i=0;i“”+s.firstName+“”)。加入(“”); selectBox.addEventListener(“更改”,函数(){ var data=JSON.parse(this.value); document.getElementById(“utskrift”).innerHTML=Object.keys(数据).map(函数(键){ 返回“+键+”-“+数据[键]+” }).加入(“”); }) ,javascript,json,loops,option,Javascript,Json,Loops,Option,如何告诉代码从所选选项列表名称获取信息? 因此,如果我从选项列表中选择JACK,我希望代码从JSON文件中为我提供他的信息。它当前提供给我的是选项值,而不是我的标记中的信息您可以将字符串化对象本身保存为值,并在更改事件中显示相同的值 [ { "id":"1","firstName":"John", "lastName":"Doe","role":"engineer","age":"25" }, { "id":"2","firstName":"Jax", "lastName

如何告诉代码从所选选项列表名称获取信息? 因此,如果我从选项列表中选择JACK,我希望代码从JSON文件中为我提供他的信息。它当前提供给我的是选项值,而不是我的
标记中的信息

您可以将字符串化对象本身保存为值,并在
更改
事件中显示相同的值

    [
    { "id":"1","firstName":"John", "lastName":"Doe","role":"engineer","age":"25" },
    { "id":"2","firstName":"Jax", "lastName":"Ali","role":"Software engineer","age":"35" },
    { "id":"3","firstName":"Suz", "lastName":"Ibra","role":"Developer","age":"23"},
    { "id":"4","firstName":"Alia", "lastName":"Arnold","role":"UX Designer","age":"28"},
    { "id":"5","firstName":"Jack", "lastName":"Jones","role":"Programmer","age":"37"}
]

    <html>
    <head>
    <meta charset="utf-8" />
    <title>Testside</title>
    <script>
        window.onload = oppstart;

        var laster; //xmlhttp

        var person;

        function oppstart() {
            laster = new XMLHttpRequest();

            var filnavn = "data.json" +"?id="+Math.random();
            //alert(filnavn);
            laster.open("GET",filnavn,true);
            laster.onreadystatechange = ferdigLastet;
            laster.send();
        }


        function ferdigLastet() {

            if(laster.readyState === 4 && laster.status === 200) {

                person = JSON.parse(laster.responseText);

                for (var i = 0; i < person.length; i++) {
                    document.getElementById("nedtrekk").innerHTML+= "<option value='" + person[i].id +"'>" + person[i].firstName +"</option>"

                    }
                }


            }




    </script>

    </head>
    <body>
    <select name="id" id="nedtrekk">
    </select>
    <p id="utskrift"></p>

    </body>
    </html>
selectBox.addEventListener(“更改”,函数(){
var data=JSON.parse(this.value);
document.getElementById(“utskrift”).innerHTML=Object.keys(数据).map(函数(键){
返回“+键+”-“+数据[键]+”
}).加入(“”);
})
演示

var-arr=[
{“id”:“1”,“firstName”:“John”,“lastName”:“Doe”,“role”:“engineer”,“age”:“25”},
{“id”:“2”,“firstName”:“Jax”,“lastName”:“Ali”,“role”:“Software engineer”,“age”:“35”},
{“id”:“3”,“firstName”:“Suz”,“lastName”:“Ibra”,“role”:“Developer”,“age”:“23”},
{“id”:“4”,“firstName”:“Alia”,“lastName”:“Arnold”,“role”:“UX Designer”,“age”:“28”},
{“id”:“5”,“firstName”:“Jack”,“lastName”:“Jones”,“role”:“Programmer”,“age”:“37”}
];
var selectBox=document.getElementById(“nedtrekk”);
选择box.innerHTML=arr.map(s=>“”+s.firstName+“”)。加入(“”);
selectBox.addEventListener(“更改”,函数(){
var data=JSON.parse(this.value);
document.getElementById(“utskrift”).innerHTML=Object.keys(数据).map(函数(键){
返回“+键+”-“+数据[键]+”
}).加入(“”);
})


您需要一个for循环来迭代json,还需要一个检查x值是否等于x值的语句将其推入到for循环外部声明的变量中

例如:

var json=[
{
“姓名”:“玛丽亚”,
“年龄”:14岁
},
{
“姓名”:“雅各布”,
“年龄”:24
},
{
“姓名”:“大卫”,
“年龄”:36
}
];
var-extract=[];
for(var i=0;i

您可以使用jquery,在json文件中搜索非常简单,如下所示:

selectBox.addEventListener( "change", function(){
   var data = JSON.parse(this.value);
   document.getElementById( "utskrift" ).innerHTML = Object.keys( data ).map( function ( key ){
       return "<div>" + key + " - " +  data[ key ] + "</div>"
   }).join( "" );
})

“+个人[i]。名字+”
之后,您可以这样调用jQuery:

<select onClick="myFunction" id="myselect">
   <option onClick="myFunction" value='" + person[i].id +"'>" + person[i].firstName +"</option>
</select>
var数据=[
{“id”:“1”,“firstName”:“John”,“lastName”:“Doe”,“role”:“engineer”,“age”:“25”},
{“id”:“2”,“firstName”:“Jax”,“lastName”:“Ali”,“role”:“Software engineer”,“age”:“35”},
{“id”:“3”,“firstName”:“Suz”,“lastName”:“Ibra”,“role”:“Developer”,“age”:“23”},
{“id”:“4”,“firstName”:“Alia”,“lastName”:“Arnold”,“role”:“UX Designer”,“age”:“28”},
{“id”:“5”,“firstName”:“Jack”,“lastName”:“Jones”,“role”:“Programmer”,“age”:“37”}
]
myFunction(){
var userId=$(“#myselect”).val();
对于(变量i=0;i
这似乎是一种非常先进的方法,我对编程非常陌生。有没有更简单的方法?@SuzdarIbrahim这应该不会太复杂,请分享你对这段代码的困惑。我从未使用过eventListeners,我不知道它是什么does@SuzdarIbrahim那样的话现在是开始@SuzdarIbrahim的好时机。我很惊讶,在您研究您的问题的解决方案时,您没有遇到
addEventListener
…我非常困惑,您说
如果我从选项列表中选择JACK,我希望我的代码从JSON文件中为我提供他的信息。它当前提供给我的是选项值,而不是我的标记中的信息
——我看不到任何代码当前在进行选择时检索任何信息。代码在哪里?为什么您希望
标记成为您选项的一部分?它位于select的外部。我迷路了。@Fran基本上我有一个选择列表。它给出了JSON文件中的名称。我想让我的javascript将关于所选人员的所有信息打印到我的p标记中► - 从JSON按Id获取对象►
var data = [
    { "id":"1","firstName":"John", "lastName":"Doe","role":"engineer","age":"25" },
    { "id":"2","firstName":"Jax", "lastName":"Ali","role":"Software engineer","age":"35" },
    { "id":"3","firstName":"Suz", "lastName":"Ibra","role":"Developer","age":"23"},
    { "id":"4","firstName":"Alia", "lastName":"Arnold","role":"UX Designer","age":"28"},
    { "id":"5","firstName":"Jack", "lastName":"Jones","role":"Programmer","age":"37"}
]

myFunction(){
  var userId = $( "#myselect" ).val();
  for(var i = 0 ; i < data.length;i++){
      if(userID == data[i].id){
         alert(data[i])
       }
   }
}