在给定的小提琴中,单击“插件”按钮以及选择和取消选择 的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');
}
});
你能告诉我如何解决这个问题吗?
答案 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') );