簡體   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