2015-04-01 78 views
0
$(document).ready(function() { 


     var key = "testkey"; 
     var value = "testvalue"; 
     <apex:repeat value="{!timeSpent}" var="item"> 

      console.log(key); 
      console.log(value); 

      value = {!timeSpent[item]}; 
      key = {!item}; 

      console.log(key); 
      console.log(value); 
     </apex:repeat> 

    }); 

timeSpent從控制器來的變量,一個Salesforce的地圖字符串到十進制:未捕獲的參考錯誤:<mapkey>沒有定義

public Map<String, Decimal> timeSpent = new Map<String, Decimal(); 
// the map gets values via further code which works fine 

當我執行上述的javascript,控制檯說:

2015-04-01 12:29:11.354cmRP_ResourceDashboard:45密押 2015-04-01 12:29:11.354cmRP_ResourceDashboard:46測試值 2015-04-01 12:29:11.356cmRP_ResourceDashboard:49未捕獲的ReferenceError:Geblockt是沒有定義d

我不知道爲什麼。 「Geblockt」是來自該映射的鍵,類型字符串。該錯誤只顯示地圖的鍵,而不顯示值。任何想法,任何人?

這裏是從Inspector(鉻)調試

<script> 

$(文件)。就緒(函數(){

var key = "testkey"; 
    var value = "testvalue"; 

console.log(key); 
console.log(value); 

value = 0; 
key = Geblockt; <---- HERE IS THE ERROR 

console.log(key); 
console.log(value); 

console.log(key); 
console.log(value); 

value = 5; 
key = PR-122; 

console.log(key); 
console.log(value); 

});

+0

使用'鍵= 「{項目!}」;' – Satpal 2015-04-01 10:40:11

回答

0

根據您的示例Geblockt被視爲未定義的變量,因此您收到錯誤。

其分配在引號那麼它將被視爲字符串:

key = "{!item}"; 
+0

哇。不知道那很簡單。你能解釋一下背後的想法嗎?我對javascript/jquery比較陌生。非常感謝! – lheinen 2015-04-01 10:46:09

+0

@lheinen,在本例中'key = Geblockt;','Geblockt'將被視爲另一個變量'key =「Geblockt」;'它將被視爲字符串 – Satpal 2015-04-01 10:47:45

相關問題