2013-06-03 29 views

回答

1

您輸入的標籤無效;它需要自動關閉。

這就是說,我將在數據存儲爲一個數據 - *使用JSON屬性中:

<input data-val='{ "key1": "a", "key2": "b"}' type="text" id="test" /> 

從那裏,你可以閱讀的價值,解析它,更新它,字符串化回來,並更新屬性。


像這樣的東西應該讓你開始,只是注意,部分將在舊的瀏覽器打破,所以你可能要墊片之類的東西JSON.parse/stringify。並且想想看,IE7中不支持getAttributesetAttribute。我不確定這些瀏覽器的解決方法。

var inp = document.getElementById('test'); 
var obj = JSON.parse(inp.getAttribute('data-val')); 

console.log(obj); 

obj.key1 = "updated"; 
obj.key3 = "foo"; 

inp.setAttribute('data-val', JSON.stringify(obj)); 

console.log("updated", inp.getAttribute('data-val')); 

DEMO

+1

這不是有效的JSON。 JSON必須使用雙引號,而不是單引號。 – Barmar

+0

@Barmar - 哈 - 我不知道。謝謝 –

+1

雙引號是有意義的,因爲值可能有'''在裏面。 –

相關問題