jQuery使用Json语法更新数据属性

时间:2015-05-27 02:41:03

标签: jquery json

我正在尝试更新数据阵列中的一个选项:

<a class="status" data-set='{"field": "status", "id": 2, "result": "3"}'>Click</a>

我需要结果从3更新为4个。

这是我的代码:

$('body').on('click', 'a.status', function() {
    var data = $(this).data("set");
    value = data.result == 3 ? 4 : 3;
    $(this).data("set", {"val":value});


    console.log(data)

});

点击后,用[object,object]

替换整个数据集属性

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

它可能会以字符串形式提供数据:

$('body').on('click', 'a.status', function() {
    var $this = $(this);
    var data = $this.data("set");
    data.result = data.result == 3 ? 4 : 3;
    $this.data("set", JSON.stringify(data));


    console.log(data)

});

答案 1 :(得分:0)

您应该能够直接操作数据属性中的对象,如下所示:

IN

<强>样本

&#13;
&#13;
$(this).data('set').result = 4;
//or $(this).data()['set']['result'] = 4;
//or $(this).data().set.result = 4;
&#13;
$('a.status').on('click', function() {
  $(this).data('set').result = $(this).data('set').result == 3 ? 4 : 3;
  console.log( $(this).data('set') );
});
&#13;
&#13;
&#13;