我有以下函数返回一个已选中复选框的数组。
function grabData(checked) {
return $('.product_category_selector' + (checked? ':checked' : ':not(:checked)')).map(function (index, chk) {
return $(chk).data('id');
}).get();
在我的主要处理功能中,我目前将“状态”硬编码为1
使这种动态变化的最佳方法是什么?
完整代码:
$('body').on("click", "#brands_by_category_submit_btn", function (e) {
e.preventDefault();
var self = $(this);
var sortOrder = [];
var id = $("#manID").data("id");
var brand_name = $("#brand_name").data("id");
var data = grabData(true);
$(".order").each(function(){
sortOrder.push($(this).val());
})
if(data.length)
{
var data_array = {
id : id,
brand_name : brand_name,
cat_id : data,
sortOrder : sortOrder,
state : 1
};
答案 0 :(得分:0)
使用:checked
选择器只获取您感兴趣的内容,然后将这些data-id
属性映射到数组。
没有grabData()
来电:
var $checked = $(":checked");
var data = $.map($checked, function(item){ return item.attr('data-id') });
grabData()
来电:
function grabData(){
var $checked = $(":checked");
var data = $.map($checked, function(item){ return item.attr('data-id') });
return data;
}
var data = grabData();