繁体   English   中英

从函数jquery调用数组

[英]call array from function jquery

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

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']));
}

您需要从dataWrite调用中返回一些内容。 在这种情况下,带有人数据的对象的对象。 然后您可以通过传入的名称对其进行过滤。

 $('button').click(showInfo); function showInfo() { var data = $(this).attr("dataid"); //alert(data); writeData(data); } function dataArray() { var persons = { person1: { name: 'First Name', position: 'Director' }, person2: { name: 'Second Name', position: 'Director' } }; return persons; } function writeData(called) { $('.person').removeClass('hidden'); //alert(called); // write in divs $('.person .name').text(dataArray()[called].name); $('.person .position').text(dataArray()[called].position); } 
 .hidden { display: none } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button dataid="person1">Call person 1</button> <button dataid="person2">Call person 2</button> <br/> <br/> <div class="person hidden"> <span>Name: </span> <div class="name"></div> <br/> <span>Position: </span> <div class="position"></div> </div> 

您的代码中有两个问题:

  1. dataArray函数不返回任何内容,因此您需要将其更改为:

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

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

这是工作的小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM