2017-10-09 112 views
-1

情況:我有一個Sharepoint列表。我有一個對象填充了很少的字符串元素。當這個函數觸發時,我有一個事件。Javascript:如何創建基於對象的窗口/下拉菜單?

我想要什麼:我想創建一個窗口或下拉菜單或任何用戶可以點擊元素來選擇一個。

問題:我無法直接編輯HTML(Sharepoint自動生成),所以我可以做的是在腳本編輯器中添加一些腳本。任何創建菜單的選項都可以讓用戶從對象中進行選擇。 (可能創建一個新窗口,並禁用點擊網站的其他部分,在它打開將是最簡單的方法,但我不知道)。

我可以請你給我演示一個如何創建它的例子嗎?

//some code to generate the window/dropdown/ect here 
    function getData(info) //info is the object 
     { 
      for (var i = 0; i < info.length; i++) 
      { 
      //I should add the object elements to the window/dropdown/ect here 
      } 
     } 
+0

信息:{ 「測試1」, 「測試2」, 「TEST3」, 「TEST4」, 「TEST5」} – Nefri

回答

1

首先選擇要在HTML中創建下拉列表的位置。例如,假設你有,你要添加它div ...

<div id="yourplace"> 
</div> 

...所以首先你必須創建具有idselect元素。之後,您可以遍歷信息對象,爲每個值創建option元素並將其添加到創建的元素。

在這種情況下,因爲你與對象的工作,但你可以使用jQuery的$.each()功能,所以你可以做這樣的事情,你不能使用for ...

var myInfo = { 0: "test1", 
       1: "test2", 
       2: "test3", 
       3: "test4", 
       4: "test5" }; 

$('div#yourplace').append('<select id="infodropdown"></select>'); 

function getData(info) { 

    var myOptions = []; 
    $.each(info,function(index,value) { 
     myOptions.push('<option value="'+value+'">'+value+'</option>'); 
    }); 

    $('select#infodropdown').html(myOptions); 
} 

getData(myInfo); 

在這裏你有一個測試小提琴... https://fiddle.jshell.net/rigobauer/16ot7w0b/

我希望它能幫助

+0

非常感謝你,這是成功了! – Nefri

+0

好聽!祝你有美好的一天,快樂的編碼! –