2017-03-17 93 views
2

嗨我這裏有一個腳本:放入選項JavaScript的結果選擇

function getFiles(){ 
    var query = ""; 
    if (ifShowSharedFiles()) { 
     $(".button-opt").hide(); 
     query = (FOLDER_ID == "root") ? "trashed=false and sharedWithMe" : "trashed=false and '" + FOLDER_ID + "' in parents"; 
     if (FOLDER_ID != "root" && FOLDER_PERMISSION == "true") { 
      $(".button-opt").show(); 
     } 
    }else{ 
     $(".button-opt").show(); 
     query = "trashed=false and '" + FOLDER_ID + "' in parents"; 
    } 
    var request = gapi.client.drive.files.list({ 
     'maxResults': NO_OF_FILES, 
     'q': query 
    }); 

    request.execute(function (resp) { 
     if (!resp.error) { 
      showUserInfo(); 
      DRIVE_FILES = resp.items; 
      buildFiles(); 

       for(var i = 0; i < resp.items.length; i++){ 
         console.log(resp.items[i].title) 
       } 
     }else{ 
      showErrorMessage("Error: " + resp.error.message); 
     } 
    }); 
} 

的執行console.log給我我需要的文件夾的名稱。

如何將console.log放入選項select中。

如果我運行此的GetFiles中的console.log結果是:

Name 
Age 
Place 

有了這些數據,我需要用3選項值選擇框。

+1

的【什麼是從與jQuery的陣列選項添加到選擇的最佳方式?(http://stackoverflow.com/questions/170986/what-is-可能的複製最好的方式來添加選項從數組中選擇與jquery) –

回答

2

要做到這一點,你可以使用map()使用append()將其添加到所需的select元素之前建立option元素的字符串數組。試試這個:

// example response data 
 
var resp = { 
 
    items: [{ 
 
    title: 'Foo', 
 
    Id: '1321a34ds' 
 
    }, { 
 
    title: 'Bar', 
 
    Id: 'aaaaaaa' 
 
    }, { 
 
    title: 'Fizz', 
 
    Id: 'bbbbbbb' 
 
    }, { 
 
    title: 'Buzz', 
 
    Id: 'ccccc' 
 
    }] 
 
} 
 

 
var options = resp.items.map(function(item) { 
 
    return '<option value="' + item.Id + '">' + item.title + '</option>'; 
 
}); 
 
$('select').append(options.join(''));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select></select>

+0

這工作!我會在10分鐘內接受答案(我必須等待) –

+0

1個更多的問題:我有現在的標題,但我想要一個選項val,它必須來自resp.id –

+0

示例項目:[{ title:'Foo ',Id:「1321a34ds」,選項值必須是1321a34ds –

0

只是寫在下面的代碼替換此

for(var i = 0; i < resp.items.length; i++){ 

console.log(resp.items[i].title); 



} 

。這將解決您的問題

var listoption,compllist;   

for(var i = 0; i < resp.items.length; i++){    

var title = resp.items[i].title; 

listoption += '<option id='+title+' value='+title+'>'+title+'</option>'; 
      } 
      compllist = "<select name='list' id='list'><option>Select</option>"+listoption+"</select>"; 
      $("#container").html(compllist);