Кхм... Ajax запрос?) Ну и на нативном JS можно сделать.
Каждому checkbox назначте событие onChange - пусть передает event ( сам event будет содержать name и value - Доступ по event.target.name или event.target.value ).
Теперь сам запрос (вызывается по событию, я привык разделять обработчики событий и действий, но можно сделать onChange на send):
function handlerOnChange(event) {
let gamer = {};
gamer.name = event.target.name;
gamer.value = event.target.value;
gamer = JSON.stringify(gamer);
this.send(gamer);
}
function send(data) {
let xhr = new XMLHttpRequest();
xhr.open('POST', url);
xhr.onload = onload; // эта обработчик функции - у вас его может и не быть, мне он нужен был, так как я выполнял действия по загрузке.. можно выводить ошибку если она есть или что-то еще. ! Кроме того обратите внимание на fetch - очень интересная замена xhr !
xhr.setRequestHeader('Content-type', 'application/json');
xhr.send(data);
}
Не помню, но возможно придется к методу прописать вот такую конструкцию:
сигнатура метода Create([FromBody]Team model) { ... }.
Если же вам надо единим массивом отправлять, ну то есть будет очень много игроков (а не 1). То следует выполнять функцию send только при submit. А игроков записывать в массив. Можно кстати в массив записывать только идентификаторы checkbox, а потом при submit'e проходится по checkbox'aм и считывать их.
Выбор за вами)