Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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 从函数jquery调用数组_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript 从函数jquery调用数组

Javascript 从函数jquery调用数组,javascript,jquery,arrays,Javascript,Jquery,Arrays,我在jQuery中存储了一些数据。我想用函数从数组中调用它,但当我调用数组时,它不会返回任何值。这是我的 jQuery代码 $('button').click(showInfo); function showInfo(){ var data = $(this).attr("dataid"); //alert(data); dataArray(data); writeData(data); } function dataArray(call){ var person

我在jQuery中存储了一些数据。我想用函数从数组中调用它,但当我调用数组时,它不会返回任何值。这是我的

jQuery代码

$('button').click(showInfo);

function showInfo(){
    var data = $(this).attr("dataid");
  //alert(data);
  dataArray(data);
  writeData(data);
}

function dataArray(call){
    var person1 = [{
        'name':'First Name',
        'position':'Director'
    }];
    var person1 = [{
        'name':'Second Name',
        'position':'Director'
    }];
}

function writeData(called){
    $('.person').removeClass('hidden');
  dataArray(called[0]);
  // write in divs
  $('.person .name').text(dataArray(called['name']));
  $('.person .position').text(dataArray(called['position']));
}

您需要从数据写入调用返回一些内容。在本例中,对象是包含人员数据的对象的对象。然后,您可以通过传入的名称来筛选它

$(“按钮”)。单击(showInfo);
函数showInfo(){
var data=$(this.attr(“dataid”);
//警报(数据);
写入数据(数据);
}
函数dataArray(){
个人变量={
人1:{
姓名:'名字',
职位:'董事'
},
人员2:{
姓名:'第二个姓名',
职位:'董事'
}
};
返回人员;
}
函数writeData(调用){
$('.person').removeClass('hidden');
//警报(呼叫);
//用div写
$('.person.name').text(dataArray()[called].name);
$('.person.position').text(dataArray()[called].position);
}
。隐藏{
显示:无
}

叫人1
叫人2


姓名:
职位:
您的代码中有两个问题:

  • dataArray
    函数没有返回任何内容,因此您需要将其更改为:

    function dataArray(call){
     return {
      person1 :{
          name:'First Name',
          position:'Director'
      },
      person1 :{
        name:'Second Name',
            position:'Director'
       }
     }[call];
    }
    
  • 您需要访问返回对象的密钥,这将是:

    $('.person .name').text(dataArray(called)['name']);
    $('.person .position').text(dataArray(called)['position']);
    

  • 下面是正在工作的

    dataArray函数,它只声明两个变量,然后对它们不做任何操作。此外,我认为您的意思是将
    var person2
    作为第二个变量,而不是2
    var person1
    行。一个基本的问题是,如果希望函数返回某个内容,则需要
    返回某个内容。也许你应该解释一下你想发生什么,因为这段代码并没有真正揭示这一点。