javascriptでは、jsonオブジェクトを読み込んで、その中の値を更新しようとしています。htmlの要素には、パスに一致するIDがあります。たとえば、次の「values.one」要素は次のようになります。
{"values":{"one": "val1"、 "two": "val2"}、 "OtherStuff": "whatever"}
この要素に関連します:
<input id="values_one" type="text">val1</div>
この要素がフォーカスを失ったとき、(jQueryを使用して)「#values_one」の値を取得し、jsonオブジェクトにある値を使用するように設定します。既存のjsonオブジェクトから値を取得する方法を理解しましたが(以下の恐ろしいコードを参照)、最終的には値しか得られないため、設定してもjsonオブジェクトには影響しません。これを行う方法についての提案はありますか(フォーカスを失った要素が「values_one」、「values_two」、またはjsonオブジェクトにマップされる可能性のある他の要素であるかどうかわからないと仮定します)?
これが私がこの時点で持っているコードです(それは機能していません)が、実際に機能するもののためにそれをスクラップして幸せです:
var saveEdit = function() { var data = getJson(); pathElements = $(this).attr('id').split('_'); length = pathElements.length; var path = data[pathElements[0]]; index = 1; while (index < length) { path = path[pathElements[index]]; length -= 1; } path = $(this).text(); //resets "path", but not data.values.one $(this).unbind(); }