0
我需要在一個字段存儲的關鍵值數組是這樣的:的JavaScript如何CRUD一個鍵值對數組轉換成字符串
<input type="text" id="test" >{key1="a"}{key2="b"}</input>
我怎樣才能讀取和更新呢?
我需要在一個字段存儲的關鍵值數組是這樣的:的JavaScript如何CRUD一個鍵值對數組轉換成字符串
<input type="text" id="test" >{key1="a"}{key2="b"}</input>
我怎樣才能讀取和更新呢?
您輸入的標籤無效;它需要自動關閉。
這就是說,我將在數據存儲爲一個數據 - *使用JSON屬性中:
<input data-val='{ "key1": "a", "key2": "b"}' type="text" id="test" />
從那裏,你可以閱讀的價值,解析它,更新它,字符串化回來,並更新屬性。
像這樣的東西應該讓你開始,只是注意,部分將在舊的瀏覽器打破,所以你可能要墊片之類的東西JSON.parse/stringify
。並且想想看,IE7中不支持getAttribute
和setAttribute
。我不確定這些瀏覽器的解決方法。
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'));
這不是有效的JSON。 JSON必須使用雙引號,而不是單引號。 – Barmar
@Barmar - 哈 - 我不知道。謝謝 –
雙引號是有意義的,因爲值可能有'''在裏面。 –