javascript - 如何在数组中保存相同的对象类型

标签 javascript jquery arrays object

我想在 Array() 中保存相同的对象类型

例如,当我想选择所有复选框并将值保存在数组中时:

selectAllCbs: function() {
            var self = this;
            $('#' + instanceName + 'table_form input[type=checkbox]').each(function(index,cb) {
                if($(cb).prop('disabled') == false) {
                    $(cb).prop('checked',true);
                    console.log("Select all clicked:" + cb); //gives me [object HTMLInputElement] result
                    selected.push(cb); //save to an array
                    self.changeRowStyle(cb);
                }
            });

当用户单击该行时我使用几乎相同的代码时,我得到不同的类型:

rowClicked: function(id) {
        var cb = $('#' + instanceName + 'cb_' + id);

        if($(cb).is(':checked')) {
            $(cb).prop('checked',false);
            selected.splice(selected.indexOf(this.value),1);
        } else {
            $(cb).prop('checked',true);
            console.log("Row clicked:" + cb); //gives me [object Object]
            selected.push(cb);
        }
        this.changeRowStyle(cb);
    },

所以主要问题是如何将 rowClicked 元素保存在 [object HTMLInputElement] 类型中?

因为在第一个示例中,我可以使用 selected[i].value 读取值,而在第二个示例中,我需要使用 selected[i][0].value 读取它.

最佳答案

rowClicked中,替换:

selected.push(cb);

与:

selected.push(cb[0]);

并在 rowClicked 中为 this.changeRowStyle(cb[0]) 方法执行相同的操作

关于javascript - 如何在数组中保存相同的对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17992247/

相关文章:

javascript - 使用.nvm安装时如何选择节点版本

javascript - 超时淡入淡出时div闪烁

JavaScript JSON 对象对象错误

javascript - 在 react 中打开一个弹出窗口

javascript - 单击时需要向下滑动巨型菜单

javascript - 在 javascript 中更新 VAR

javascript - 如何停止和重新启动动画 gif

java - 根据异常设置参数?

c - 哪些项目(结构)知道它们在数组中的位置的静态数组

javascript - 如何在Javascript中将多个json数组合并为一个数组swift子数组?