我有这样的HTML:
<div class="pgggo-list-taxon">
<li>
<label>
<input type="checkbox" name="pgggo-category-sep-56[]">
<div class="icon-box">
<div name="development">Development</div>
</div>
</label>
</li>
<li>
<label>
<input type="checkbox" name="pgggo-category-sep-14[]">
<div class="icon-box">
<div name="food">Food</div>
</div>
</label>
</li>
<li>
<label>
<input type="checkbox" name="pgggo-category-sep-8[]">
<div class="icon-box">
<div name="medical">Medical</div>
</div>
</label>
</li>
<li>
<label>
<input type="checkbox" name="pgggo-category-sep-1[]">
<div class="icon-box">
<div name="uncategorized">Uncategorized</div>
</div>
</label>
</li>
<li>
<label>
<input type="checkbox" name="pgggo-category-sep-2[]">
<div class="icon-box">
<div name="wordpress">WordPress</div>
</div>
</label>
</li>
</div>
每个复选框具有唯一名称= pgggo-category-sep-56
,pgggo-category-sep-14
。单击多个项目后,会将ID添加到下面数组的ID字段中。
我正在尝试一种方法,可以给我一个输出数组:
$output = array(
array(
'taxonomy'=> 'category', // pgggo-category-sep-56 --category word is pulled from here
'id'=> array(56,14), // ids are pulled pgggo-category-sep-56 number at the end
)
array(
'taxonomy'=> 'home', // pgggo-home-sep-56 --homeword is pulled from here
'id'=> array(56,14), // ids are pulled pgggo-category-sep-56 number at the end
)
);
我尝试过:
$('.pgggo-container-ajax-sorting').on('click', '.pgggo-list-taxon input', function(event) {
var outputPgggo = $(this).attr('name');
}
但是这只会拉线。有什么办法可以做到这一点?
Object.entries(array).map(([taxomony, id]) => ({taxomony, id}))
$('[name="pgggo-category-sep[]"]').on('change', function () {
let values = Array.from($('[name="pgggo-category-sep[]"]:checked'))
.map(elem => $(elem).val())
})