首页 > 解决方案 > 当我检查多个选项输入时获取类的值

问题描述

我想获得team-id当我在多个选项输入上检查它并将这个值保存在selectedTeams数组中时的值

共同属性

teams: [],
selectedTeams: [],

数组teams让所有团队参与另一个功能并且工作正常

我正在做这个功能

GetSelectedTeams: function () {  
    var self = this;
    var selected = $('input:checked').attr('team-id');
    for (var i = 0; i < this.teams.length; i++) {
        if (i == selected){
            self.selectedTeams[i] = true;
        }
    }
    var n = $('input:checked').length;  

    console.log("Selected Team is " + selected);
    console.log("SelectedTeam length is " + self.selectedTeams.length);
    console.log("Teams checked " + n);                  
}

函数触发器是

    $('#teamsList').on('click','[id^=team]', function() {
        this.GetSelectedTeams();
    });

#teamsList是所有团队的列表

<ul id="teamsList" style="list-style-type: none;">

他将添加这种工作正常的结构

        $('#teamsList').append('<li>\
                <input type="checkbox" id="team' + item.Id + '" class="confirmCheckbox" team-id="' + item.Id + '" data-team-id="' + teamId + '" />&nbsp;' + item.teamName + '\
            </li>\
        ');

控制台始终显示相同的团队 ID,长度始终为 2,并且团队检查工作正常。

标签: javascriptjquery

解决方案


您可以像这样获得选定的团队ID:

var selectedTeams=[];
$("input:checkbox").each(function(){
    var $this = $(this);

    if($this.is(":checked")){
        selectedTeams.push($this.attr("data-team-id"));
    }
});

在这里,变量selectedTeams将具有所有teamid选中复选框的所有值。


推荐阅读