2017-08-26 38 views
0

Golang服務器發送schools對象print.tpl Smarty的文件,如:tplData["Schools"] = schoolsGolang + JQuery + Smarty:如何迭代對象?

print.tpl文件,我用下面我能夠打印:

{{range $.Schools}} 
    {{.Course}} -- {{.Duration}} 
{{end}} 

print.tpl文件,我需要使用https://fullcalendar.io JQuery的組件並與靜態數據工作正常,如下圖所示:

<script> 
    $(document).ready(function() { 
     $('#calendar').fullCalendar({    
      header: { 
       left: 'prev,next today myCustomButton', 
       center: 'title', 
       right: 'month,agendaWeek,agendaDay,listMonth' 
      }, 
      events: [ 
        { 
         title : 'event1', 
         start : '2017-08-01' 
        } 
       ] 
     }); 
    }); 
</script> 

問題:如何在我的JQuery函數中迭代$.Schools對象?

注意:在Golang託管REST和調用jQuery是一種選擇,但我不希望走這條路。


更新:新的增強的代碼按@mkopriva輝煌答案:

<script> 
     $(document).ready(function() { 
      $('#calendar').fullCalendar({    
       header: { 
        left: 'prev,next today myCustomButton', 
        center: 'title', 
        right: 'month,agendaWeek,agendaDay,listMonth' 
       }, 
       events: [ 
         {{range $.Schools}} 
         { 
         title : {{.Course}}, 
         start : {{.Duration}} 
         }, 
        {{end}} 
        ] 
      }); 
     }); 
    </script> 

回答

1

轉到模板支持JS和CSS和行爲評價{{ ... }})爲背景,所以你可以遍歷js中的學校與html中的相同。雖然我不知道smarty是什麼,所以如果這不起作用,你需要檢查smarty的文檔。

events: [ 
    {{range $.Schools}} 
    { 
     title: {{.Course}}, 
     start: {{.Duration}} 
    }, 
    {{end}} 
] 

https://play.golang.org/p/LBDBAMY4cL

+0

https://play.golang.org/p/_jJzH28bOI –

+0

@ MH-cbon它是什麼,你要指出的? – mkopriva

+0

優秀的@mkopriva,我只有一個小問題,上面的代碼我最終在最後添加了額外的COMMA。你知道我怎樣才能確定是否在迭代過程中的最後一個元素,以便我不會添加該COMMA,一切都會很好? –