【发布时间】:2019-08-09 00:14:14
【问题描述】:
大家好,
我的麻烦需要帮助。 我想将值推送到特定的数组键中,我做了一些事情但我推送了很多 null。
我需要这样的东西:
{
"20": {
"0":10,
"1":20,
"2":30
},
"30":{
"0":10,
"1":20,
"2":30
}
}
$("a").click(function() {
pushOrRemove($(this).data('value'), $(this).data('key'))
});
function pushOrRemove(value, array_key) {
var attribute_values = [];
if ($('[data-stored-values]').val().length == 0) {
attribute_values[array_key] = [];
} else {
attribute_values[array_key] = JSON.parse($('#removed_variant_options').val());
}
attribute_values[array_key].push(value);
$('[data-stored-values]').val(JSON.stringify(attribute_values))
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="#" data-value="10" data-key="20">Click</a>
<a href="#" data-value="20" data-key="20">Click</a>
<a href="#" data-value="30" data-key="20">Click</a>
<a href="#" data-value="10" data-key="30">Click</a>
<a href="#" data-value="20" data-key="30">Click</a>
<a href="#" data-value="30" data-key="30">Click</a>
<input type="text" data-stored-values>
【问题讨论】:
-
这些都不是数组。它们都是对象。
[]表示一个数组,{}是一个对象。 -
什么是
removed_variant_options?!! -
@ZakariaAcharki 我忘了更改实际上是 $('[data-stored-values]') 隐藏输入