[英]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>
您的代码中有两个问题:
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']);
这是工作的小提琴
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.