如何获取数据属性中存在的现有JSON并更新它

How to fetch existing JSON that exists in data-attr and update that

本文关键字:JSON 更新 存在 何获取 获取 数据属性      更新时间:2023-09-26

在给定的fiddle中,单击Addons按钮以及选择和取消选择在复选框中,我正在尝试更新数据属性数组作为数据填充出现。

一旦我设置了数据,我如何获取现有数据并用新数据更新它。http://jsfiddle.net/kgm9o693/9/

// checkbox checked
$(document).on('click', '.ui-checkbox-off', function (event) {
    var vendoritemsdata = $(".lastItm_Wrap").data('stuff');
    var checkboxid = $(this).next().attr("id");
    var cost = $(this).attr("cost");
    var toppcrusts = [];
    toppcrusts.push({
        'name': checkboxid,
            'cost': cost
    });
    if (vendoritemsdata.length == 0) {
        $('.lastItm_Wrap').attr('data-stuff', toppcrusts);
    } 
    else {
        var existingdata = $('.lastItm_Wrap').data('data-stuff');
    }
});

你能告诉我如何解决这个问题吗??

您正试图将DOM用作变量。应该是相反的。仅使用DOM来显示结果(在您的情况下为总成本)。但在此之前,如果您需要将数组序列化为json或数据,请将所有内容保存到数组中。

检查下面的示例http://api.jquery.com/serializeArray/

如果您想继续按自己的方式进行,请将数据转换为JSON并使用以下方法:

设置数据

$('.lastItm_Wrap').attr('data-stuff', JSON.stringify(toppcrusts) );

获取数据

var existingdata = JSON.parse( $('.lastItm_Wrap').attr('data-stuff') );

http://jsfiddle.net/kgm9o693/12/