2013-04-02 102 views
0

我想在URL中傳遞一些參數作爲查詢字符串,並創建必要的事件數組以將數據加載到fullcalendar中。我已經查看了從JSON提要獲取數據的事件函數,並試圖對我的需求進行修改,但失敗了。Fullcalendar函數從URL查詢字符串創建事件數據

任何人都可以給我一些關於如何獲取查詢字符串值的數組(這一部分我很好),然後得到fullcalendar加載這些作爲事件。提前致謝。

肖恩

更新與即時從查詢串創建所述陣列的示例代碼。例如測試網址,像這樣:/test.html?Event=Test1,Test2,Test3 &日期= 2013-04-01,2013-04-02,2013-04-03

 var qsParm = new Array(); 

    qsParm['Event'] = null; 
    qsParm['Date'] = null; 
    qs(); 


    function qs() { 
     var query = window.location.search.substring(1); 
     var parms = query.split('&'); 
     for (var i = 0; i < parms.length; i++) { 
      var pos = parms[i].indexOf('='); 
      if (pos > 0) { 
       var key = parms[i].substring(0, pos); 
       var val = parms[i].substring(pos + 1); 
       qsParm[key] = val; 
      } 
     } 

     var title = qsParm['Event'].split(','); 
     var start = qsParm['Date'].split(','); 
+0

你可以添加一些示例代碼?例如,字符串數組是什麼樣的? – thomaux

+0

謝謝我已經添加了我用來從查詢字符串中創建數組的代碼。 –

+0

從理論上講,代碼應該工作,確保你的qsParm ['Event']設置爲使用console.log(qsParm);在Firebug或Chrome瀏覽器中更好,因爲它們提供了有關已記錄對象的詳細信息。 – HMR

回答

0

您的字符串到日期:

var i = 0; 
var start ="27,8,72".split(","); 
for(i=0;i<start.length;i++){ 
    start[i]=parseInt(start[i],10); 
    if(isNaN(start[i])){ 
    throw(new Error("Invalid date:"+start.join(","))); 
    } 
} 
var date=new Date(start[2],start[1]-1,start[0]); 
console.log(date); 

使用新的日期(年,月,日)。請注意,由於日期構造函數使用基於零的月份,因此月份是1月份,因此0是1月份。

+0

感謝您的回覆。我上面輸入的代碼對我來說工作正常,它是使用標題的下一部分,並啓動具有事件功能的數組,該事件功能將與導致我遇到問題的fullcalendar腳本一起使用。在網站上給出的例子是一個函數,將採取XML飼料,我已經嘗試了基於這個代碼的各種功能,但我不能得到任何工作。 http://arshaw.com/fullcalendar/docs/event_data/events_function/ –