如何获取data-attr中存在的现有JSON并更新它

时间:2015-03-03 02:58:26

标签: javascript jquery

在给定的小提琴中,单击“插件”按钮以及选择和取消选择 的Checkboxes,我正在尝试更新data-attr 数组作为数据存在。

一旦我设置数据,我如何获取现有数据并使用新数据更新它。 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');
    }
});

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

1 个答案:

答案 0 :(得分:0)

您正在尝试将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/