[英]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.