我正在爲我的項目使用jquery模板。我面臨的問題是,在渲染模板時,我將$data
轉換爲字符串並將其傳遞給onclick函數[請參閱下面的代碼]。 $data
對象的如何將字符串轉換爲jquery對象?
<script id="Item" type="text/x-jquery-tmpl">
<li id="${ID}" class="card red ui-state-default">
<a class="desc" href="" onclick="return $$.popup.eItem('${($data)}');"> ${$data.Desc} </a>
</li>
</script>
轉換爲字符串,並把它傳遞給函數
onclick="return $$.popup.eItem('${($data)}');"
這裏,$data
是包含實際數據的對象。當我點擊鏈接時,我得到傳遞的字符串爲"[object Object]"
,我想再次將其轉換回jquery對象,以便我可以在我的代碼中使用它。
我可以用 'JSON.stringify()' 到$data
對象JSON轉換,這樣
onclick="return $$.popup.editCard('${JSON.stringify($data)}');"
但作爲模板被渲染爲HTML,這是輸出:
<a class="desc" href="" onclick="return $$.popup.eItem('{"TemplateName":"CardItem","ID":"lc822","Desc":"make card EntityAssignId = 0","CardId":822,"LaneId":665,"Priority":1,"AssignedEntityId":0,"Pic":null,"SortOrder":2}');">make card EntityAssignId = 0</a>
那麼有什麼建議?
你試過嗎?$(數據) – Christian 2012-02-02 10:42:57
燁我做到了,但當時並沒有呈現模板... – 2012-02-02 10:44:28
我不確定我是否真的瞭解你的問題stion,但你有沒有試過'$(document.createTextNode(...))'? – hippietrail 2012-10-17 10:06:00