更改数据属性json值

时间:2017-10-13 00:47:20

标签: javascript jquery

我想更改json数组的具体值。细节我有这个dom:

<input class="fileupload" type="file" data-form-data='{"table_reference": "data_monitoring", "table_token" : "X43sd"}'>         

我知道如何使用以下代码使用jquery更新数据属性: $(this).attr('key','value')

但是如何更改数据属性中的特定键,例如在dom上面 我需要更改 table_token

感谢任何建议

1 个答案:

答案 0 :(得分:3)

您可以将.data()与属性引用一起使用,将特定属性设置为值

&#13;
&#13;
$(".fileupload").data().formData.table_token = 123;

console.log($(".fileupload").data().formData);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="fileupload" type="file" data-form-data='{"table_reference": "data_monitoring", "table_token" : "X43sd"}'>
&#13;
&#13;
&#13;

如果要求设置data-*哪些将反映在HTML中,您可以使用HTMLElement.dataset

var new_token = "abc";

let data = JSON.parse($(".fileupload")[0].dataset.formData);

data.table_token = new_token;

$(".fileupload")[0].dataset.formData = JSON.stringify(data);