2015-05-26 31 views
0

我想使用自定義的數據屬性評估HTML5數據屬性 - 如何處理引號

<span class="k-nav-day" data-dt="kendo.toString(date, 'dd/MM/yyyy')"> 

</span> 

但是當我嘗試下面的JavaScript代碼,

var dateOfHeader = $(this).data("dt"); 

它仍然給我的報價,它沒有得到評估

"kendo.toString(date, 'dd/MM/yyyy')" 

它應該格式化'日期'和日期應分配給變量「dateOf頭」 = 27/05/2015

注:我沒有任何錯誤控制檯

背景上的問題

我使用的調度控制,我需要呈現基於日期一些顏色。我的數據源是具有JSON作爲跟隨

var mydatafromApi = ({ 
    date:01/01/2013, 
    percentage=30%, 
    color = red 
    }, 
{ 
    date:02/01/2013, 
    percentage=40% 
    color = blue 
}); 

現在我需要調度/日曆和顯示背景的每個日期在此基礎上JSON數據

比較所以,當渲染我存儲在自定義數據屬性日期,但要閱讀它我正面臨着問題。

+0

不應該有'var dateOfHeader = $(this).data(「data-dt」);'? – chiapa

+0

我認爲你需要使用'.eval()'來做到這一點。 'var dateOfHeader = eval($(this).data(「dt」));'。 – kosmos

+0

是顯示/分配當前日期嗎? – lshettyl

回答

0

當你調用一個javascript函數與HTML的評估數據來呈現,你需要#= #表達來包裝你的函數

data-dt="#= kendo.toString(date, 'dd/MM/yyyy') #" 

您應該可以使用jQuery數據獲取數據

$(element).data("dt"); 
0

在這種特定的情況下,你可以使用JavaScript eval功能

var dateOfHeader = eval($(this).data("dt")); 
+0

感謝Mladen。但同時評估它說「日期未定義」 - 問題的背景是在這裏:http://stackoverflow.com/questions/30308682/rendering-data-in-kendo-scheduler-control-header-dateheadertemplate/30320045#30320045 – codetoshare

+0

ohh,那麼你的日期變量應該用單引號內的實際值替換'「kendo.toString('01/01/2013','dd/MM/yyyy')」' –

+0

是的,但它不會在運行時發生 – codetoshare