2011-09-16 100 views
3

我試圖返回一個函數的值作爲對象屬性(而不是函數本身)。這是我現在的代碼,但是當我嘗試訪問我的jQuery插件中的option_list [0] [0] .label或.value時,它會中斷。思考?作爲對象屬性的Javascript函數返回

$('#new').create({ 
    option_list:function(){return [ 
     [ 
      {label:'option1', value:'1'}, 
      {label:'option2', value:'2'}, 
      {label:'option3', value:'3'} 
     ] 
    ];} 
}); 

回答

8

您需要實際調用該函數,就像這樣......

$('#new').create({ 
    option_list:(function(){return [ 
     [ 
      {label:'option1', value:'1'}, 
      {label:'option2', value:'2'}, 
      {label:'option3', value:'3'} 
     ] 
    ];}()) 
}); 
+0

,完美的工作。 – Tim

0

也許我讓你錯了,但你爲什麼要擁有這樣一個多維數組?

讓功能給你一個封裝陣列的對象:

$('#new').create({ 
    option_list:function(){ return { 
     [ 
      {label:'option1', value:'1'}, 
      {label:'option2', value:'2'}, 
      {label:'option3', value:'3'} 
     ] 
    };} 
}); 
+0

沒有完整的上下文,看起來多餘,但它是更大的表單生成模式的一部分。有沒有理由返回和對象與數組會更好? – Tim

相關問題